java实现上传文件

1上传指定路径

  /*使用SpringBoot实现简单文件上传(上传至本地)*/
    @PostMapping("/upload")
    //MultipartFile 接收前端传过来的文件
    public String upload(@RequestBody MultipartFile file) throws IOException {
        // 注意 前端传参的name要和MultipartFile的对象名保持一直 比如此处对象名为file 则前端传参的name也要为file
        //获取上传文件的文件名
        String oldName=file.getOriginalFilename();
        //指定上传路径
        String path="F:\\upload_files\\";
        //拼接成为新文件的路径
        String filePath=path+oldName;
        //创建新文件对象 指定文件路径为拼接好的路径
        File newFile=new File(filePath);
        //将前端传递过来的文件输送给新文件 这里需要抛出IO异常 throws IOException
        file.transferTo(newFile);
        //上传完成后将文件路径返回给前端用作图片回显或增加时的文件路径值等
        return filePath;
    }

 

2上传自己新建的文件夹

@PostMapping("/upload")
    public string upload(@RequestBody MultipartFile file,Drawing drawing) throws IOException {
        Drawing drawingDetails = drawingService.drawingDetails(drawing);
       //获取上传文件的文件名
        String oldName=drawingDetails.getCompanyId()+"\\"+drawingDetails.getBuildingId()+"\\"+file.getOriginalFilename();
        //指定上传路径
        String path="F:\\upload_files\\";
        //拼接成为新文件的路径
        String filePath=path+oldName;
        //创建新文件对象 指定文件路径为拼接好的路径
        File newFile=new File(filePath);
        //文件存放path
        if(!newFile.isDirectory()){
            newFile.mkdirs();
        }
        //将前端传递过来的文件输送给新文件 这里需要抛出IO异常 throws IOException
        
            return filePath;
        

    }

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Apache Commons FileUpload库来上传本地文件。以下是一个简单的示例代码: 1. 首先,你需要在项目中添加commons-fileupload和commons-io库的依赖,可以在Maven或Gradle中添加以下依赖: Maven: ``` <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.8.0</version> </dependency> ``` Gradle: ``` implementation 'commons-fileupload:commons-fileupload:1.4' implementation 'commons-io:commons-io:2.8.0' ``` 2. 在你的Servlet或Controller中,编写以下代码: ``` import java.io.File; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; @WebServlet("/upload") public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // 判断是否是文件类型 String fileName = item.getName(); String filePath = "/path/to/upload/folder/" + fileName; File uploadedFile = new File(filePath); item.write(uploadedFile); } } response.getWriter().println("File uploaded successfully!"); } catch (Exception e) { response.getWriter().println("File upload failed!"); e.printStackTrace(); } } } } ``` 这个示例代码将上传文件保存在`/path/to/upload/folder/`路径下。你可以根据你的实际情况修改保存路径。 3. 在前端,你可以使用HTML表单来上传文件: ``` <form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 当用户单击“上传”按钮时,表单将提交到`/upload`URL,然后Servlet将处理上传文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值