github:https://github.com/452733450/web-uploader
前端
导入需要的js包和css包,form写在引的js包里了
<div>
<button id="btn-upload" class="btn btn-sm btn-outline-success">
点击上传
</button>
<div id="taskbar"></div>
</div>
<script th:inline="javascript">
var uploader = new Q.Uploader({
url:"/upload",
target:$("#btn-upload")[0],
view:$("#taskbar")[0],
upName:"myfile",
dataType:"text",
on: {
complete:function(task){
layer.msg(task.response);
}
}
});
</script>
Controler
package com.pp.controller;
import java.io.File;
import java.io.IOException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.pp.utils.BaseController;
@Controller
public class UploadController extends BaseController{
@RequestMapping("/upload")
@ResponseBody
public String upload(MultipartFile myfile) throws IllegalStateException, IOException {
System.out.println("myfile=:"+myfile.getOriginalFilename());
String server_upload_path="D:\\Server-Upload\\";
File server_upload = new File("D:\\Server-Upload\\");
server_upload.mkdir();
File target = new File(server_upload_path + myfile.getOriginalFilename());
myfile.transferTo(target);
return "success";
}
}
配置config
package com.pp.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
@Configuration
public class MultiPartConfig {
public CommonsMultipartResolver resolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("UTF-8");
resolver.setMaxUploadSize(524288000);
resolver.setMaxInMemorySize(40960);
return resolver;
}
}