- js
$(function() {function findSize(field_id) {let fileInput = $("#"+field_id)[0];let byteSize = fileInput.files[0].size;return ( Math.ceil(byteSize / 1024 / 1024) ); }$("#upload-img").click(function () {if (!$("#show-img").prop("src")) {return;}let imgSize = findSize("upload-input");if (imgSize >= 2) {alert('请选择2MB以下的图片');return;}let formData = new FormData($("#img-form")[0]);$.ajax({url: "/WebMusicPlayer/uploadFile",data: formData,type: "post",cache: false,processData: false,contentType: false,success: function (img_name) {$("#music-list-img").val(img_name);$("#list-img").css('display', 'inline');$("#list-img").prop('src', $("#show-img").prop('src'));$("#upd-img").modal('hide');},error: function (e) {console.log(e);}});});});
- servlet (jsp smart upload)
package com.lovely.action;import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;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 java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.UUID;
@WebServlet(name = "UploadFile", urlPatterns = "/uploadFile")
public class UploadFile extends HttpServlet {public static String path;protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {SmartUpload su = new SmartUpload();su.initialize(getServletConfig(), req, resp);su.setCharset("utf-8");su.setAllowedFilesList("jpg,png,bmp");su.setMaxFileSize(1024*1024*2);
try {su.upload();System.out.println("用户名:"+su.getRequest().getParameter("userName"));Files files = su.getFiles();com.jspsmart.upload.File f = files.getFile(0);String filePath = getServletContext().getRealPath("/music-manage/img");System.out.println("项目根路径:"+filePath);File file = new File(filePath);if(!file.exists()){file.mkdirs();}String fileName = UUID.randomUUID()+"."+f.getFileExt();filePath = filePath+"/"+ fileName;f.saveAs(filePath);System.out.println("上传成功");resp.setContentType("text/plain;charset=utf-8");PrintWriter out = resp.getWriter();out.print(fileName);out.close();} catch (SmartUploadException e) {e.printStackTrace();System.out.println("文件上传失败");}}
}