ssm使用Ajax的formData进行异步图片上传返回图片路径,并限制格式和大小
生活随笔
收集整理的這篇文章主要介紹了
ssm使用Ajax的formData进行异步图片上传返回图片路径,并限制格式和大小
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前整理過SSM的文件上傳,這次直接用代碼了。
前臺頁面和js
后臺代碼
/*** 圖片上傳* @param* @param uploadfile* @param request* @return*/@RequestMapping("/fileUpload")@ResponseBodypublic UploadResult handleFormUpload(@RequestParam("uploadfile") List<MultipartFile> uploadfile,HttpServletRequest request) {UploadResult result = new UploadResult();//判斷上傳文件是否存在if (!uploadfile.isEmpty() && uploadfile.size() > 0) {//循環輸出上傳的文件for (MultipartFile file : uploadfile) {//獲取上傳文件的原始名稱String oringinalFilename = file.getOriginalFilename();//獲取源文件名后綴String prefixName = FilenameUtils.getExtension(oringinalFilename);int fileSize = 500000;//圖片限制在500k以內if(file.getSize() > fileSize) {result.setCode("0");return result;} else if(prefixName.equalsIgnoreCase("jpg")|| prefixName.equalsIgnoreCase("png")|| prefixName.equalsIgnoreCase("jpeg")|| prefixName.equalsIgnoreCase("pneg")) {//設置上傳文件的保存地址目錄String dirPath = request.getSession().getServletContext().getRealPath("/fileupload/");//區分windows和linux的\ 和 ///String dirPath = "E:"+System.getProperty("file.separator")+"uploadfile" + System.getProperty("file.separator");//String dirPath = System.getProperty("file.separator") + "usr" + System.getProperty("file.separator") + "local"// + System.getProperty("file.separator")+"imgbak"+System.getProperty("file.separator");System.out.println("dirpath==" + dirPath);File filePath = new File(dirPath);//如果文件地址不存在 則創建目錄if (!filePath.exists()) {filePath.mkdirs();}//使用時間格式重新命名String newFilename = VeDate.getNo(4) + "."+prefixName;System.out.println("/fileupload/" + newFilename);try {//使用MultipartFilr接口的方法完成文件上傳到指定位置file.transferTo(new File(dirPath + newFilename));String filepath = "/fileupload/" + newFilename;result.setPath(filepath);} catch (IOException e) {result.setCode("1");return result;}} else {System.out.println("上傳圖片格式不正確");result.setCode("3");return result;}}//上傳成功return result;} else {result.setCode("404");return result;}}UploadResult 實體類
/*** @author * @version V1.0* @Description:* @date 2018/1/23 17:03*/ public class UploadResult {/*** 錯誤代碼*/private String code;/*** 上傳文件路徑*/private String path;//…… }小結
工作總結,都是文件上傳,只是情況不同,本來想用前端文件上傳的框架,結果半天都不行,就用了Ajax的上傳方式,結果還好。
轉載于:https://www.cnblogs.com/black-spike/p/8337140.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的ssm使用Ajax的formData进行异步图片上传返回图片路径,并限制格式和大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音乐模块的播放功能
- 下一篇: 【转发活动】Hey, 是你吗? | 寻粉