web文件上传和下载

文件的上传和下载是网络编程经常出现的问题,虽然比较基础但是通常用的时候就会忘记一些细节,因此在这里将一些细节po出来。

1.文件下载

文件的下载比较简单,前端我们只需要进行一次get请求即可:

1 <button onclick=‘getFile();‘>Import</button>
2
3 <script>
4 function getFile(){
5     var url = "/istore/servlet/b2b/group/downloadModel.do";
6     window.location.href=url;   //此处写入要跳转的sevlet
7 }
8 </script>

后台的sevelet将内容传回给前台这里我自己创建了一个excel文件作为输出:

 1 public void downloadModel(HttpServletRequest request,
 2             HttpServletResponse response) throws IOException, RowsExceededException, WriteException {
 3
 4         String filename = "model.xls";//保存的默认文件名
 5
 6             response.setHeader("content-disposition", "attachment;filename="
 7                     + URLEncoder.encode(filename, "UTF-8"));//将文件名设置为返回的头部信息(十分重要)
 8             OutputStream out = response.getOutputStream(); //设置返回的数据流
 9             WritableWorkbook workbook = Workbook.createWorkbook(out);
10             WritableSheet sheet = workbook.createSheet("inputlist", 0);
11             Label lab = null;
12             lab = new Label(0, 0, "LogonId");
13             sheet.addCell(lab);//以上为创建excel过程,使用jexcel
14             workbook.write();//写入
15             workbook.close();
16     }

2.文件上传

这里前台只写出js代码(使用了jQuery语法)

function Upload(){
    var file = $("#uploadfile")
    file.after(file.clone().val(""));
    file.remove(); 

    $("#groupId").val(xgroup_id);
    var url = "/istore/servlet/b2b/group/bulkUpload.do";
    //判断文件是否为空
                var uploadfile = jQuery("#uploadfile").val();
                if(uploadfile=="")
                {
                    alert("Please select the file you want to upload!");
                    return;
                }
//判断拓展名是否正确                if(uploadfile.toLowerCase().indexOf(‘.xls‘)==-1){
                    alert("The file you choosed is not a valid file,please select the valid files(extension ‘.xls‘)!");
                    return;
                }else{
                    $(this).dialog( "close" );

                    //提交请求
                    var options ={url:‘bulkUpload.do‘,type:‘post‘,dataType:‘json‘,
                                   success:function(data){
                                      alert(data);
            }

}

后台servlet:

public String Upload_member(HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam("uploadfile") MultipartFile file) {
        PrintWriter out = null;
//上传的编码格式
        response.setContentType("text/html;charset=UTF-8");
        String result = null;
        try {
//print是我写的一个输出函数,是将数据流内容输出的,uploadfile会将内容保存,并返回保存状态
            print(file.getInputStream());
            result = uploadFile(file, request);
        } catch (Exception e) {

        }

        return JSONObject.toJSONString(result);
    }

这里没有具体写出输出数据流和把数据流保存至文件,读者可以根据自己情况自行查找解决办法。

时间: 2024-07-31 15:21:27

web文件上传和下载的相关文章

springboot+web文件上传和下载

一.首先安装mysql数据库,开启web服务器. 二.pom.xml文件依赖包配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio

寒假随笔4——购物系统(web文件上传与下载)

昨天写了登陆页面: 今天上午搭建完用户页面框架之后,想增加一个换头像功能,但是要求我导入jar包 如图: 本人找了一下午,终于,我找到了,哈哈哈哈,链接如下 http://blog.sina.com.cn/s/blog_1645e034e0102wtiw.html 希望对有的小伙伴有帮助. 原文地址:https://www.cnblogs.com/haheihei/p/12271457.html

java web 文件上传下载

文件上传下载案例: 首先是此案例工程的目录结构: 处理上传: FileUploadServlet.java 1 package fnz.fileUploadTest; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.PrintWriter; 7 import java.text.SimpleDateFormat; 8 import java.

WEB文件上传下载过程简介(基于Struts2)

WEB文件上传过程简介(基于Struts2),页面上传.Action收取.解析:文件导出 文件处理过程,需要注意对文件的定期清理,避免磁盘占用过多: 1. jsp页面:   <s:file required="true" name ="myFile" theme="zx2"/> <s:form action ="myfile.action" name="form" method =&quo

JavaWeb学习总结(五十)——文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

深入分析JavaWeb Item40 -- 文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)

项目中涉及了文件的上传和下载,以前在struts2下做过,今天又用springmvc做了一遍,发现springmvc封装的特别好,基本不用几行代码就完成了,下面把代码贴出来: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Uplo

JavaWeb文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请 求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common- fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,st

FileUpload系列:(3)文件上传和下载示例

示例由1个Servlet和3个JSP组成. 1.FileServlet package com.rk.web.servlet; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.Has