Java-使用MultipartFile实现图片/文件上传

示例:

   

选择图片/文件 

 

上传成功

 

前端代码:

<div class="form-item flexc">
    <span class="form-item-name">请上传商品图片</span>
    <div class="form-item-list flex">
        <div class="form-case-itemupload ">
            <input id="foodImgUrl" onchange="changeImg('foodImgUrl','food_img','uploadImgName')" type="file" name="" class="serve-type-btn1">
            <img id="food_img" class="uploadimg" src="" alt="">
            <!-- <i class="serve-type-img3"></i> -->
            <i id="uploadImgName" class="serve-type-text3 c9">上传图片<br></i>
        </div>
    </div>
</div>

<div class="form-item flexc">
    <span class="form-item-name">请上传商品相关资质资料</span>
    <div class="form-item-list flex">
        <div class="form-case-itemupload ">
            <input id="qualImgUrl" onchange="changeImg('qualImgUrl','food_file','uploadTextName')" type="file" name="" class="serve-type-btn1">
            <img id="food_file" class="uploadimg" src="" alt="">
            <!-- <i class="serve-type-img3"></i> -->
            <i id="uploadTextName" class="serve-type-text3 c9">上传凭证<br></i>
        </div>
    </div>
</div>

<div class="form-item ct">
    <button onclick="addFood()" class="form-btn">确定</button>
</div>
function changeImg(inputEl,imgEl,nameEl){
    var food_img_file = $("#"+inputEl)[0].files[0];
    var imgUrl = getImgFileURL(food_img_file);
    var fileName = food_img_file.name;
    $("#"+imgEl).attr("src",imgUrl);
    $("#"+nameEl).html(fileName);
}

//获取图片文件的路径
function getImgFileURL(file) {
	var url = null ;
	if (window.createObjectURL!=undefined) { // basic
		url = window.createObjectURL(file) ;
	} else if (window.URL!=undefined) { // mozilla(firefox)
		url = window.URL.createObjectURL(file) ;
	} else if (window.webkitURL!=undefined) { // webkit or chrome
		url = window.webkitURL.createObjectURL(file) ;
	}
	return url ;
}

function addFood(){
    var foodImgFile = $('#foodImgUrl')[0].files[0];  
    uploadFile(foodImgFile);
    var foodTextFile = $('#qualImgUrl')[0].files[0];  
    uploadFile(foodTextFile);
}

function uploadFile(file){
    var formData = new FormData();  
    formData.append("file_data", file);  
    formData.append("type", "1");  
    $.ajax({  
        url: url,
        type: 'POST',  
        cache: false,  
        data: formData,  
        processData: false,  
        contentType: false,  
        success: function (data) {  
        },  
        error: function (err) {  
        }  
    });
}

Java后台:

@PostMapping("/upload")
@ResponseBody
public Map<String, Object> upload(@RequestParam("file_data") MultipartFile file_data, @RequestParam("type") String type) {
    Map<String, Object> map = new HashMap<>();
    if (file_data.isEmpty()) {
        map.put("code", "ok");
    }
    // 获取文件名
    String fileName = file_data.getOriginalFilename();
    System.out.println("上传的文件名为:" + fileName);
    // 获取文件的后缀名
    String suffixName = fileName.substring(fileName.lastIndexOf("."));
    System.out.println("上传的后缀名为:" + suffixName);
    // 文件上传后的路径
    String filePath = "d:/upload/";

    File dest = new File(filePath + fileName);
    // 检测是否存在目录
    if (!dest.getParentFile().exists()) {
        dest.getParentFile().mkdirs();
    }
    try {
        file_data.transferTo(dest);
        map.put("code", "ok");
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return map;
}

有兴趣的朋友可以加我的qq群交流学习,群里有更多源码,学习资料

QQ群:741909960     

点我进群

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Victor.Chang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值