当前位置:首页 » 办公资讯 » 前端中怎样上传下载文件

前端中怎样上传下载文件

发布时间: 2022-11-28 00:57:36

❶ .NET 前端大文件上传如何实现

想要想上传大文件,必须在web.config文件中进行配置。
在<system.web>节点中添加如下代码即可:
<httpRuntime maxRequestLength="2097151"/>
这个代码就是表示设置最大请求值,上传文件也就相当于请求。maxRequestLength单位为KB,最大值为:2097151.如果不设置,默认为4096 KB (4 MB)。
也就是说上传的文件最大可以上传2G以内的文件。
一般没有配置的话,默认只能上传4M以内的文件。配置了的话就可以上传更大的文件。

❷ jsp 如何实现文件上传和下载功能

上传:

MyjspForm mf = (MyjspForm) form;// TODO Auto-generated method stub

FormFile fname=mf.getFname();

byte [] fn = fname.getFileData();

OutputStream out = new FileOutputStream("D:\"+fname.getFileName());

Date date = new Date();

String title = fname.getFileName();

String url = "d:\"+fname.getFileName();

Upload ul = new Upload();

ul.setDate(date);

ul.setTitle(title);

ul.setUrl(url);

UploadDAO uld = new UploadDAO();

uld.save(ul);

out.write(fn);

out.close();

下载:

DownloadForm downloadForm = (DownloadForm)form;

String fname = request.getParameter("furl");

FileInputStream fi = new FileInputStream(fname);

byte[] bt = new byte[fi.available()];

fi.read(bt);

//设置文件是下载还是打开以及打开的方式msdownload表示下载;设置字湖集,//主要是解决文件中的中文信息

response.setContentType("application/msdownload;charset=gbk");

//文件下载后的默认保存名及打开方式

String contentDisposition = "attachment; filename=" + "java.txt";

response.setHeader("Content-Disposition",contentDisposition);

//设置下载长度

response.setContentLength(bt.length);

ServletOutputStream sos = response.getOutputStream();

sos.write(bt);

return null;

❸ js如何上传文件

js采用File API 来上传文件的。


File API 由一组 JavaScript 对象以及事件构成。赋予开发人员操作在 <input type=”file” … /> 文件选择控件中选定文件的能力。图 1 展示了 File API 所有的 JavaScript 的组合关系。


File API 简单示例

<body>
<h1>File API Demo</h1>
<p>
<!-- 用于文件上传的表单元素 -->
<form name="demoForm" id="demoForm" method="post" enctype="multipart/form-data"
action="javascript: uploadAndSubmit();">
<p>Upload File: <input type="file" name="file" /></p>
<p><input type="submit" value="Submit" /></p>
</form>
<div>Progessing (in Bytes): <span id="bytesRead">
</span> / <span id="bytesTotal"></span>
</div>
</p>
</body>
运行效果:

❹ web前端param怎么上传文件

1 首先有一个正确的
2 其次input type需要为"file"
3 如果不需要设置文件类型和大小的话,跟传一组数据是一样的格式写接口代码就行

❺ vue前端如何实现文件文件夹系统

文件上传页面的前端可以选择使用一些比较好用的上传组件,例如网络的开源组件WebUploader,泽优软件的up6,这些组件基本能满足文件上传的一些日常所需功能,如异步上传文件,文件夹,拖拽式上传,黏贴上传,上传进度监控,文件缩略图,甚至是大文件断点续传,大文件秒传。
需求:
支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验;
内网百兆网络上传速度为12MB/S
服务器内存占用低
支持文件夹上传,文件夹中的文件数量达到1万个以上,且包含层级结构。
支持PC端全平台操作系统,Windows,Linux,Mac
支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。
支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹层级结构与本地相同。

❻ 请问在网页制作中,怎样实现文件上传和下载这个功能呢

你用地什么制作的啊,本人拿DREAMWEAVER举例。

1.你首先要建一个站点(站点以及里边的文件都要用英文)步骤:站点-新建站点
2.然后对站点进行编辑,选则你的站点然后点编辑,然后选择远程服务器里边的FTP项目。
3.然后把FTP主机的IP写上去,然后登陆的帐户和密码(本人推荐保存密码)
注:(下面的项依据个人爱好填写)

❼ JAVA 前端大文件上传如何实现

如果是页面传至后台,那么页面上传文件的时候进行分片处理,如果是后台之间调用,直接代理里面分片处理。关键点,当前一片传输完毕之后,收到成功返回才开始传输下一片如果传输失败则重传当前片数,超时重传。传输时带上文件唯一标识,文件当前片数,总片数,当前片数md5校验值等。必要参数。 大致为这样,注意不要内存泄露了。

❽ 详解前端文件上传

首先文件上传首先想到的发post,当然还有其他的上传协议,我们这里只介绍发post。
post支持四种content-type:

Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。

首先生成了一个 boundary 用于分割不同的字段,为了避免与正文内容重复,boundary 很长很复杂。然后 Content-Type 里指明了数据是以 mutipart/form-data 来编码,本次请求的 boundary 是什么内容。消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以 --boundary 开始,紧接着内容描述信息,然后是回车,最后是字段具体内容(文本或二进制)。如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 --boundary-- 标示结束。
RFC1867

application/json这个Content-Type都比较熟悉,当然也可以把json放到formData中;
RFC4657

参见RFC,也比较常见。
XML-RFC

在HTML中要有一个包含了文件输入框的form元素,表单里元素的name一定要写,最终形成formData时,是以name作为key值

如果直接在form里写action的话,会刷新表单,同步请求。所以用发送异步post请求方式。

你还可以不借助HTML表单,直接向FormData对象中添加一个File对象或者一个Blob对象:

你还可以使用jQuery来发送FormData,但必须要正确的设置相关选项:

MDN:使用FormData

❾ 最近在研究nodejs如何实现文件上传功能

前端formdata或者Ajax上传文件
Node端:用multiparty接收文件,再用fs.rename将文件存储到你需要的位置。
var MULTIPARTY = require('multiparty');
var FS = require('fs');
var saveTowerFile = function (req, res, next) {
var form = new MULTIPARTY.Form({uploadDir: "../appData/excel/"});
form.parse(req, function (err, fields, files) {
if (err) {
console.log("上传失败!" + err);
var errcode = {result: "失败"};
res.send(errcode);
return;
} else {
var inputFile = files.file[0];
var uploadedPath = inputFile.path;
var dstPath = '../appData/excel/' + UUID.v1();
FS.rename(uploadedPath, dstPath, function(err) {
if (err) {
var errcode = {result: "失败"};
res.send(errcode);
return;
} else {
debug('rename ok');
res.send(“OK”);
}
})
}
});

};

❿ JAVA action中如何 上传 下载文件

/**
上传文件
*/
public class FileAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
FileForm fileform = (FileForm) form;
//取得请求的文件集合
Hashtable hash = fileform.getMultipartRequestHandler().getFileElements();
//得到hashtable的枚举值
Enumeration enu = hash.elements();
//如果该枚举值包含有其它的文件
while(enu.hasMoreElements()) {
//得到文件
FormFile file = (FormFile) enu.nextElement();
System.out.println(file);
add(file);
}
return mapping.findForward("yes");
} catch (Exception e) {
e.printStackTrace();
}
return super.execute(mapping, form, request, response);
}
public void add(FormFile file){
try {
//取得写文件的目录
String url=servlet.getServletContext().getRealPath("upload");
File f1=new File(url);
if(!f1.exists()){//如果文件目录不存在
f1.mkdirs();//创建目录
}
String fileName=file.getFileName();
//创建一个文件输入流
InputStream is=file.getInputStream();
OutputStream out=new FileOutputStream(url+"/"+fileName);
int byteRead=0;
byte[] by=new byte[8192];
while((byteRead=is.read(by, 0, 8192))!=-1){
out.write(by, 0, byteRead);
}
out.close();
is.close();
file.destroy();
} catch (Exception e) {
e.printStackTrace();
}
}
}

/**
下载文件
*/
页面一开始进去action,action负责把file文件夹下的所有文件读入一个ArrayList中
Action代码如下:
ArrayList list = new ArrayList();
String path=request.getRealPath("/")+"file";
String FullPath;
//System.out.println(path);
myDir=new File(path);
list.clear();
contents=myDir.listFiles();
for(int i=0;i<contents.length;i++){
FullPath=contents.getName();
list.add(FullPath);
//System.out.println(FullPath);
}
request.setAttribute("list",list);
ActionForward forward=new ActionForward("/download.jsp");
return forward;
然后进入download.jsp中,这个页面主要负责把所有文件显示,并提供下载连接,代码如下:
<%@ page language="java" contentType="text/html;charset=GBK" import="java.util.ArrayList"%>
<head>
</style>
</head>
<body>
<%ArrayList list=(ArrayList)request.getAttribute("list");
for(int i=0;i<list.size();i++)
{
String a=java.net.URLEncoder.encode((String)list.get(i));

out.print("<a href=./loaded.do?name="+a+">"+list.get(i)+"</a><br>");
}
%>
</body>
</html>
注意,下划线画中的代码的作用,就是解决问题的所在。
接下来可以直接传入到loadedaction中,也可以通过一个form,我演示的是通过一个form
Form代码如下
package org.aeolus.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class LoadForm extends ActionForm {
/*
*Generated Methods
*/
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
接下来就是action的代码
LoadForm doc=(LoadForm)form;
String docName = new String(doc.getName().getBytes("8859_1"));
File f;
if(docName!=""){
String docFullPath=request.getRealPath("/");
f = new File(docFullPath+"file\\"+docName);
response.reset();
response.setContentType("application/x-msdownload;charset=GBK");
System.out.print(response.getContentType());
response.setCharacterEncoding("UTF-8");
docName=java.net.URLEncoder.encode(docName,"UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" +new String(docName.getBytes("UTF-8"),"GBK"));
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
OutputStream out = response.getOutputStream();
while((len = br.read(buf)) >0)
out.write(buf,0,len);
out.close();
response.wait();
ActionForward forward=new ActionForward("/download.jsp");
return forward; }
return null;
注意,下划线画中的代码的作用,就是解决问题的所在。说明一下:
response.setCharacterEncoding("UTF-8");
docName=java.net.URLEncoder.encode(docName,"UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" +new String(docName.getBytes("UTF-8"),"GBK"));
如果不这样做你将要下载的文件名是乱码。

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:2126
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1594
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1893
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:1964
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1718
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:2045
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:2189
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1825
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1823
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:1970