java 单文件上传_SpringBoot实现单文件上传

SpringBoot实现单文件上传功能,供大家参考,具体内容如下

架构为springboot+thymeleaf,采用ajax方式提交

1. 页面testFile.html

测试文件上传

$(function () {

$("#upload1").click(function () {

var formData = new FormData();

formData.append("file", document.getElementById("file").files[0]);

$.ajax({

url: "/file/upload1",

type: "POST",

data: formData,

//必须false才会自动加上正确的Content-Type

contentType: false,

//必须false才会避开jquery对 formdata 的默认处理

//XMLHttpRequest会对 formdata 进行正确的处理

processData: false,

success: function (data) {

if (data.status == "true") {

alert("上传成功!");

}

if (data.status == "error") {

alert(data.msg);

}

},

error: function () {

alert("上传失败!");

}

});

});

});

单一文件上传实例:

文件1:

2. FileController.java

package com.stormkai.controller;

import java.io.File;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;

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

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.MultipartFile;

import lombok.extern.slf4j.Slf4j;

@Controller

@RequestMapping("/file")

@Slf4j

public class FileController {

@GetMapping("/index")

public String index() {

return "testFile";

}

@PostMapping("/upload1")

@ResponseBody

public Map upload1(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {

log.info("系统路径={}",request.getSession().getServletContext().getRealPath(""));

String path = "F:\\uploadfile\\";

if(!new File(path).exists()){

new File(path).mkdirs();

}

file.transferTo(new File(path + file.getOriginalFilename()));

Map result = new HashMap<>();

result.put("status", "true");

result.put("data", null);

return result;

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值