课程/Java/后端开发
Java中的文件上传下载
-
-
appleyard
2019-02-27
文件下载实现
-
截图
0赞 · 0采集
-
-
Zhq9695
2017-10-09
- jsp+servlet文件下载
// 设置文件根路径
String path = "E:/Javajava/workspace for j2ee/Study2/WebContent/WEB-INF/file";
String filename = request.getParameter("filename");
// 定位下载的文件
File file = new File(path, filename);
if (file.exists()) {
// 设置文件类型
response.setContentType("application/x-msdownload");
// 设置头信息
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
// 读取文件信息
InputStream inputStream = new FileInputStream(file);
ServletOutputStream outputStream = response.getOutputStream();
byte b[] = new byte[1024];
int n;
while ((n = inputStream.read(b)) != -1) {
outputStream.write(b, 0, n);
}
// 关闭流
outputStream.close();
inputStream.close();
} else {
request.setAttribute("errorResult", "文件不存在");
request.getRequestDispatcher("jsp/01.jsp").forward(request, response);
}
-
0赞 · 0采集
-
-
nanisore_0
2017-09-30
- //设置头信息
resp.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
注意反斜杠的转译"Content-Disposition", "attachment;filename="filename"
"\"" 转译后为"
-
0赞 · 0采集
-
-
初出茅庐的程序猿
2017-06-05
- 文件下载思路:
首先通过超链接的方式发起文件的下载请求,然后配置web.xml创建downloadservlet最后配置响应类型及响应头输出流写入文件内容。
首先定位文件下载的路径getservletcontext().getrealpath("/")+"imags/";
-
0赞 · 0采集
-
-
DR枫林残忆
2017-06-02
- 文件不存在的错误信息
-
截图
0赞 · 0采集
-
-
DR枫林残忆
2017-06-02
- 设置头信息
关闭流、释放资源
-
截图
0赞 · 0采集
-
-
DR枫林残忆
2017-06-02
- 获取文件下载的路径
设置相应类型application/octet-stream
-
截图
0赞 · 0采集
-
-
DR枫林残忆
2017-06-02
- 下载实现的思路
-
截图
0赞 · 0采集
-
-
Adam_Ming
2017-02-05
- jsp + servlet 下载实现思路
-
截图
0赞 · 0采集
-
-
E女孩
2017-01-28
- 文件上传下载:2-6:下载实现思路
-
截图
0赞 · 0采集
-
-
无心水2012
2016-11-27
- 下载实现思路
-
截图
0赞 · 0采集
-
-
qq_羽悦_03291187
2016-11-22
- 文件下载
-
截图
0赞 · 0采集
-
-
Lubywu
2016-11-08
- 设置响应体有两种方式:response.setContentType("application/ocet-stream");
response.setContentType("application/x-msdownload");
-
截图
0赞 · 0采集
-
-
Lubywu
2016-11-08
- 前台传文件名参数,然后servlet得到文件相对路劲;
需要设置响应头和响应体:response.setHeader("Content-Disposition","attachment;filename=\'" + filename + "\'");response.setContentType("application/x-msdownload");
-
截图
0赞 · 0采集
-
-
Lubywu
2016-11-08
- 通过超链接请求下载servlet,然后设置响应头和响应类型,输出内容
-
截图
0赞 · 0采集
-
-
等待叶落
2016-11-08
- 下载实现思路
-
截图
0赞 · 0采集
-
-
BeingTowards
2016-09-16
- 文件下载思路:
上传中文文件名的文件,在request获取的输入流中得到的文件名为乱码,这是因为tomcat的默认编码为“ISO-8859-1”,所以有两种方式处理中文乱码:
1、利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!
要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码;
2、针对文件名属性进行转码,如:filename=new String(filename.getBytes("ISO-8859-1"), "utf-8");
下载中文文件时,jsp页面默认会将中文转换为URL编码,所以需要用filename=URLDecoder.decode(filename, "UTF-8");来将URL编码的文件名转换为中文,而在设置响应头信息处应该保持文件名为URL编码,在下载的时候会自动将URL编码的文件名转换为中文
-
截图
0赞 · 1采集
-
-
为为_0002
2016-09-09
- 文件下载-头信息获取
-
截图
0赞 · 0采集
-
-
为为_0002
2016-09-09
- 文件下载原理,设置文件头信息
-
截图
0赞 · 0采集
-
-
为为_0002
2016-09-09
- 文件下载的思路
-
截图
0赞 · 0采集
-
-
激流勇进__
2016-09-05
- 文件下载实现思路:
-
截图
0赞 · 0采集
-
-
梦编猿
2016-07-27
- Java中的文件上传下载——UploadServlet.java III
//设置保存上传文件的路径
String realPath = getServletContext().getRealPath("/") + "images";
File fileupload = new File(realPath);
if(!fileupload.exists()){
fileupload.mkdir();
}
File saveFile = new File(realPath,filename);
RandomAccessFile randomAccessFile = new RandomAccessFile(saveFile,"rw");
//从临时文件当中读取文件内容(根据起止位置获取)
randomFile.seek(startPosition);
while(startPosition < endPosition){
randomAccessFile.write(randomFile.readByte());
startPosition = randomFile.getFilePointer();
}
//关闭输入输出流、删除临时文件
randomAccessFile.close();
randomFile.close();
tempFile.delete();
req.setAttribute("result", "上传成功!");
RequestDispatcher dispatcher = req.getRequestDispatcher("jsp/01.jsp");
dispatcher.forward(req, resp);
}
}
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
1赞 · 2采集
-
-
梦编猿
2016-07-27
- Java中的文件上传下载——UploadServlet.java II
//重新定位文件指针到文件头
randomFile.seek(0);
long startPosition = 0;
int i = 1;
//获取文件内容 开始位置
while(( n = randomFile.readByte()) != -1 && i <=4){
if(n == '\n'){
startPosition = randomFile.getFilePointer();
i ++;
}
}
startPosition = randomFile.getFilePointer() -1;
//获取文件内容 结束位置
randomFile.seek(randomFile.length());
long endPosition = randomFile.getFilePointer();
int j = 1;
while(endPosition >=0 && j<=2){
endPosition--;
randomFile.seek(endPosition);
if(randomFile.readByte() == '\n'){
j++;
}
}
endPosition = endPosition -1;
...
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
1赞 · 3采集
-
-
梦编猿
2016-07-27
- Java中的文件上传下载——UploadServlet.java I
public class UploadServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//从request当中获取流信息
InputStream fileSource = req.getInputStream();
String tempFileName = "E:/tempFile";
//tempFile指向临时文件
File tempFile = new File(tempFileName);
//outputStram文件输出流指向这个临时文件
FileOutputStream outputStream = new FileOutputStream(tempFile);
byte b[] = new byte[1024];
int n;
while(( n = fileSource.read(b)) != -1){
outputStream.write(b, 0, n);
}
//关闭输出流、输入流
outputStream.close();
fileSource.close();
//获取上传文件的名称
RandomAccessFile randomFile = new RandomAccessFile(tempFile,"r");
randomFile.readLine();
String str = randomFile.readLine();
int beginIndex = str.lastIndexOf("\\") + 1;
int endIndex = str.lastIndexOf("\"");
String filename = str.substring(beginIndex, endIndex);
System.out.println("filename:" + filename);
...
-
1赞 · 2采集
-
-
梦编猿
2016-07-27
- Java中的文件上传下载——DownloadServlet.java
public class DownloadServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取文件下载路径
String path = getServletContext().getRealPath("/") + "images/";
String filename = req.getParameter("filename");
File file = new File(path + filename);
if(file.exists()){
//设置相应类型application/octet-stream
resp.setContentType("application/x-msdownload");
//设置头信息
resp.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
InputStream inputStream = new FileInputStream(file);
ServletOutputStream ouputStream = resp.getOutputStream();
byte b[] = new byte[1024];
int n ;
while((n = inputStream.read(b)) != -1){
ouputStream.write(b,0,n);
}
//关闭流、释放资源
ouputStream.close();
inputStream.close();
}else{
req.setAttribute("errorResult", "文件不存在下载失败!");
RequestDispatcher dispatcher = req.getRequestDispatcher("jsp/01.jsp");
dispatcher.forward(req, resp);
}
}
}
-
1赞 · 3采集
-
-
梦编猿
2016-07-27
- Java中的文件上传下载——下载实现思路
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
截图
1赞 · 2采集
-
-
qq_颖_男人_03406653
2016-06-07
- resp.setHeader 中 的content-Disposition, attachment;filename="filename" 将文件设定以附件的形式打开,filename就是给附件设定指定的文件名;
-
截图
0赞 · 0采集
-
-
qq_颖_男人_03406653
2016-06-07
- 设置响应 类型 目前 我只知道。下载, 还有就是设置字符集中 用过 setContentType();
-
截图
0赞 · 0采集
-
-
wzh89727
2016-04-20
- 下载实现思路
-
截图
0赞 · 0采集
-
-
qq__4669
2016-04-02
- 下载的实现思路
-
截图
0赞 · 0采集