java文件上传和下载ssm java文件上传下载项目_nginx



                                    ① 文件上传

1.使用fileupload完成上传功能,需要添加commons-fileupload相关Jar包

2.表单提交请求编码类型必须是enctype="multipart/form-data",请求方式必须是post

3.服务器如果是Servlet需要使用fileupload的提供的工具类ServletFileUpload完成文件上传。

4.服务器如果是Spring mvc,通过MultipartFile类型接收上传数据,从而完成文件上传。

                            ②.文件下载

1.提供一个超链接,可以下载浏览器不能解析的资源

2.响应头 + 响应流:如果下载资源浏览器可以解析,需要自定义实现类,添加一个下载使用的响应头content-disposition确定下载时浏览器显示的文件名,然后以流的方式将资源响应给浏览器即可

文件 第二步

<form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="image">
 </form>

文件 第四步

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;


public class FileController {

     @PostMapping
     public void fileupload(MultipartFile image) throws IOException {
         //原始文件,上传文件名
        image.getOriginalFilename();
         //上传内容
        image.getInputStream();
     }
 }//下载
public void download(HttpServletResponse response) throws IOException {
     //响应头
    response.setHeader("content-disposition","attachment;filename=mm.jpg");

     //响应内容
    ServletOutputStream out = response.getOutputStream();
     //out.write(....);
 }