springboot最全文件上传步骤,详细,ajax文件上传,formdata封装

话不多说上代码

jsp页面:

<form id="updateForm" enctype="multipart/form-data">
    <input type="hidden" name="uId">
    <div class="form-group">
        <label class="control-label">商品名称:</label>
        <input type="text" name="pName" class="form-control">
    </div>
    <div class="form-group">
        <label class="control-label">库存:</label>
        <input type="text" name="pStock" class="form-control">
    </div>
    <div class="form-group">
        <label class="control-label">成本价:</label>
        <input type="text" name="pCost" class="form-control">
    </div>
    <div class="form-group">
        <label class="control-label">商品价格:</label>
        <input type="text" name="pPrice" class="form-control">
    </div>
    <div class="form-group">
        <label class="control-label">商品描述:</label>
        <input type="text" name="pDescription" class="form-control">
    </div>
    <div class="form-group">
        <label class="control-label">商品图片:</label>
        <img width="250" height="150" src=‘<c:url value="/static/probimg/222.png"></c:url>‘>
        <input type="file" name="pPicture" class="form-control">
    </div>
</form>

js代码:

$("#confirmAdd").click(function () {
    var formdata = new FormData($("#addForm")[0]);
    $.ajax({
        type:"POST",
        dataType:"json",
        url:"addProduct",
        data:formdata,
        async:false,
        cache:false,
        contentType:false,
        processData:false,
        success:function(msg){
            if(msg){
                alert("文件上传")
            }
        }
    })
})

控制层代码:思路(将上传的文件存储在本地的盘符,但是当要将本地文件如何映射到jsp页面呢??)

@RequestMapping("addProduct")
@ResponseBody
public Boolean addProduct(HttpServletRequest request, String pName, Integer pStock,
                          BigDecimal pCost, BigDecimal pPrice, String pDescription,@RequestParam("pPicture") MultipartFile pPicture) throws IOException {
    String fileName = UUID.randomUUID()+ pPicture.getOriginalFilename();
    if(!pPicture.isEmpty()){
        byte [] bytes = pPicture.getBytes();
        BufferedOutputStream bufferedOutputStream = new
                BufferedOutputStream(new FileOutputStream(new File("E:\\upload\\"+fileName)));
        bufferedOutputStream.write(bytes);
        bufferedOutputStream.close();
    }
    Product product = new Product( null,  pName,  pStock,  pCost,  pPrice,  pDescription,  fileName);
    return productService.add(product);
}

但是当要将本地文件如何映射到jsp页面呢??

package com.mall.han.utils;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class WebAppConfigurer extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/probimg/**").addResourceLocations("file:E://upload/");
    }
}

 这个文件不需要放东西,然后重启服务器,在浏览器下输入该目录会显示本地的文件

        

原文地址:https://www.cnblogs.com/han-guang-xue/p/9988157.html

时间: 2024-10-10 07:42:40

springboot最全文件上传步骤,详细,ajax文件上传,formdata封装的相关文章

Java Servlet+Objective-c图上传 步骤详细

一. Servlet 1.创建图片保存的路径 在项目的WebContent下创建一个上传图片的专属文件夹. 这个文件夹创建后,我们保存的图片就在该文件夹的真实路径下,但是在项目中是无法看到上传的图片的,访问此文件夹下的图片,使用项目的baseurl+图片文件夹+图片名称.png即可. 获取项目中图片保存路径的代码: StringSavePath=request.getServletContext().getRealPath("/HeaderUpLoad")+"/"

文件上传之伪Ajax方式上传

From: <由 Windows Internet Explorer 8 保存> Subject: =?gb2312?B?zsS8/snPtKvWrs6xQWpheLe9yr3Jz7SrIC0gTVIgQ08gLSCyqb/N1LA=?= Date: Sun, 3 Jun 2012 10:54:53 +0800 MIME-Version: 1.0 Content-Type: multipart/related;  type="text/html";  boundary=&q

vue路由传参query和params路由传参的区别?

相同点:router文件index.js 都是利用name属性. params传递时: params接收时利用this.$route.param进行接受: query路由传参: query接受利用this.$route.query 而展示上params路由传参像Ajax中post传参方式: query路由传参像get传参 原文地址:https://www.cnblogs.com/manban/p/12012567.html

ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path);与DirectoryInfo directory = new DirectoryInfo (Path);) 1获取文件信息 在知道文件相对路径的情形,下面代码可以获取文件的详细信息 1 public static void fileinfo(string Path) 2 { 3 Path = S

最详细的文件上传下载

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

node.js+react全栈实践-Form中按照指定路径上传文件并

书接上回,讲到“使用同一个新增弹框”中有未解决的问题,比如复杂的字段,文件,图片上传,这一篇就解决文件上传的问题.这里的场景是在新增弹出框中要上传一个图片,并且这个上传组件放在一个Form中,和其他文本字段一起提交给接口. 这里就有几个要注意的问题: 图片上传时最好能在前端指定图片类型,根据这个类型上传到指定的目录.比如这里是新增用户,上传用户图片,那么这里就指定类型是“user”,那么就把这个文件上传到服务器的upload/user目录中.这样方便后期维护,比如要把项目中的文件统一迁移到另外一

Plupload 上传详细讲解,Plupload 多实例上传,Plupload多个上传按钮--推荐使用

今天帮朋友解决  Plupload  上传的问题,查了很多资料,资料还是挺全的,但是有点零零散散的,故整理好,合并发出来. 本教程包括: Plupload  上传详细讲. Plupload  多实例上传. Plupload  多个上传按钮. Plupload  上传成功获取返回值. 我们来看一个比较全的  Plupload  Demo <!DOCTYPE html> <html> <head> <meta charset="UTF-8">

异步上传文件(jquery.form)+进度条+上传到ftp服务器

最近写了一个小项目需要上传文件显示进度条到ftp,总结一下分享 我用的是jQuery.form.js上传 ftp服务器,自己百度去搭建很简单的 Talk is cheap.Show me your code.         GitHub上面的源码:https://github.com/Vinkong/learngit aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Def

网页大文件上传解决方案支持分片断点上传

1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通过浏览器上传至服务器,做一层中转便可以实现,但当这份文件非常大到了10GB级别,我们就需要思考另一种形式的技术方案了,也就是本文要阐述的方案. 技术要求主要有以下几方面: 支持超大数据量.10G级别以上 稳定性:除网络异常情况100%成功 准确性:数据无丢失,读写准确性100% 效率:1G文件分钟级