JavaWeb实现使⽤浏览器从服务器下载⽂件(后台)Java Web实现使⽤浏览器从服务器下载⽂件。
下⾯实现两种情况的下载,需求如下:
需求(⼀):
1、⽤户在页⾯填写表单。
2、填写完成后,选择下载,将表单内容发往后台。
3、后台根据内容⽣产⼀个⽂件,发送给前端。
4、前端成功下载⽂件到本地。
此需求简单来说就是,⽤户在页⾯上填写内容,然后将内容转变成⽂件的形式。
后台设计思路:
1、⾸先拿到前端发送过来的内容。
2、将内容解析,存放⾄缓冲区。
3、设置响应头。
4、将缓冲区⾥的内容,以流的⽅式写出。
代码实现:
public void download(HttpServletResponse response){
JSONObject json = new JSONObject();
/* 假设这是前端使⽤JSON放过来的数据 */
json.put("A","1");
json.put("B","2");
json.put("C","3");
/* 遍历JSON,将JSON的值放⾄缓冲区 */
StringBuilder sb = new StringBuilder();
Iterator it = json.keys();
java下载过程while(it.hasNext()){
String key = (();
String value = ((key);
sb.append(key).append("=").append(value).append("\n");
}
安卓应用开发实训报告/* 设置⽂件ContentType类型,这样设置,会⾃动判断下载⽂件类型 */
response.setContentType("application/multipart/form-data");
css中下列优先级最低的是/* 设置⽂件头:最后⼀个参数是设置下载⽂件名(假如我们叫a.ini) */
response.setHeader("Content-Disposition", "attachment;filename=a.ini");
try{
/
* ⽤流将数据写给前端 */
OutputStream os = OutputStream();
mvc系统对象是os.String().getBytes());
os.flush();
os.close();
刘若英世界巡回演唱会}catch (IOException ioe){
ioe.printStackTrace();
}
}
需求(⼆):
1、⽤户指定下载什么⽂件。
2、成功下载⽂件到本地。
后台设计思路:
1、⾸先获取前端需要下载什么⽂件。
2、到⽂件在服务器上⾯的路径。jpa和mybatisplus的区别
3、将⽂件读进内存
4、将⽂件以流的⽅式写出。
代码实现:
public void download() throws IOException{
//获取服务器⽂件
File file = new File("/");
InputStream ins = new FileInputStream(file);
/
* 设置⽂件ContentType类型,这样设置,会⾃动判断下载⽂件类型 */
response.setContentType("multipart/form-data");
/* 设置⽂件头:最后⼀个参数是设置下载⽂件名 */
response.setHeader("Content-Disposition", "attachment;filename="+Name());
try{
OutputStream os = OutputStream();
byte[] b = new byte[1024];
int len;
while((len = ad(b)) > 0){
os.write(b,0,len);
}
os.flush();
os.close();
ins.close();
}catch (IOException ioe){
ioe.printStackTrace();
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论