Spring MVC 檔案上傳工具類
阿新 • • 發佈:2018-12-06
public class UploadFiles { /** * 檔案的名稱 */ private String name; /** * 檔案的新的名稱 */ private String uuidname; /** * 檔案的路徑 */ private String path; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUuidname() { return uuidname; } public void setUuidname(String uuidname) { this.uuidname = uuidname; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } @Override public String toString() { return "UploadFiles{" + "name='" + name + '\'' + ", uuidname='" + uuidname + '\'' + ", path='" + path + '\'' + '}'; } }
import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import javax.enterprise.inject.New; import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.usermodel.DataFormat; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; /** * 檔案上傳工具類 * * @author lhw * */ public class UploadFile { /** * 多檔案上傳 * @param path * @param files * @return */ public static String uploadfiles(@RequestParam("file") String path, MultipartFile files[],HttpServletRequest request) { String fileName=""; try { for (int i = 0; i < files.length; i++) { fileName = files[i].getOriginalFilename(); File dir = new File(path, fileName); if (!dir.exists()) { dir.mkdirs(); } // MultipartFile自帶的解析方法 files[i].transferTo(dir); } } catch (Exception e) { // TODO: handle exception } return request.getServletPath()+"/"+fileName; } /** * 單個檔案上傳 * @param path * @param file * @return */ public static UploadFiles uploadfiles(String path, MultipartFile file) { UploadFiles files = new UploadFiles(); try { String fileName = file.getOriginalFilename(); SimpleDateFormat dateformat1=new SimpleDateFormat("yyyyMMddHHmmss"); String prefix=fileName.substring(fileName.lastIndexOf(".")+1); String str = Identities.uuid()+dateformat1.format(new Date())+"."+prefix; File dir = new File(path, str); if (!dir.exists()) { dir.mkdirs(); } // MultipartFile自帶的解析方法 file.transferTo(dir); files.setName(fileName); files.setPath(path); files.setUuidname(str); } catch (Exception e) { // TODO: handle exception System.out.println("上傳檔案出現異常"); e.printStackTrace(); } return files; } }
//上傳文件 function uploadOFD() { var formData = new FormData(); var files = $("#file").prop('files');//獲取到檔案列表 for (i = 0; i < files.length; i++) { formData.append("file", this.files[i]); } $.ajax({ url: '${pageContext.request.contextPath}/task/uploadOFD', type: "POST", data: formData, dataType: 'json', processData: false,// *重要,確認為false contentType: false, beforeSend: function (XMLHttpRequest) { // logding }, success: function (result) { document.write(result); console.log(result); } }); }