日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图片上传与下载

發布時間:2024/4/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图片上传与下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
private static final String IMAGE_TYPE_PROMPT = "文件格式僅支持jpg、png";
private static final String IMAGE_FILE_SIZE_PROMPT = "文件格式僅支持jpg、png"; public String saveUserImageToDir(MultipartFile multipartFile, String dir) throws AobpException, IOException {
if (!ImageUtil.checkIsImgByName(multipartFile.getOriginalFilename())) {
throw new AobpException(ExceptionConstant.PARAMS_INVALID, IMAGE_TYPE_PROMPT);
}
if (!ImageUtil.fileSizeLegal(multipartFile.getSize())) {
throw new AobpException(ExceptionConstant.PARAMS_INVALID, IMAGE_FILE_SIZE_PROMPT);
}
return UploadUtil.upload(multipartFile,dir);
}

public class UploadUtil {

/**
* @return dest file name
*/
public static String uploadFileToDir(MultipartFile multipartFile, String saveDir) throws AobpException {
String fileName = UUID.randomUUID().toString().replaceAll("-", "");
// 文件新路徑:文件名
uploadFileToDir(multipartFile, saveDir, fileName);
return fileName;
}

public static void uploadFileToDir(MultipartFile multipartFile, String saveDir, String fileName) throws AobpException {
uploadFile(multipartFile, saveDir + File.separator + fileName);
}

public static void uploadFile(MultipartFile multipartFile, String filePath) throws AobpException {
try (InputStream inputStream = multipartFile.getInputStream();
FileOutputStream outputStream = new FileOutputStream(filePath)) {
IOUtils.copy(inputStream, outputStream);
} catch (Exception e) {
log.error("copy file failed", e);
throw new AobpException(ExceptionConstant.INTERNAL_ERR, ExceptionConstant.UNKNOWN_ERROR);
}
}

//用戶上傳相關Yao
protected static Map<String, String> getFilePath(String path, String originName){
Date nowDate = new Date();
String fileFolder = path+File.separator+new SimpleDateFormat("yyyy").format(nowDate)+
File.separator+new SimpleDateFormat("MM").format(nowDate);

File fileNew = new File(fileFolder);
if(!fileNew.exists()){
fileNew.mkdirs();
}
String fileName = new SimpleDateFormat("yyyyMMddhhmmssSSSS").format(nowDate)+(int)((Math.random()*9+1)*100000)+"."+originName.substring(originName.lastIndexOf(".")+1);
String filePath = fileFolder+File.separator+fileName;
Map<String, String > resultMap = new HashMap();
resultMap.put("fileName",fileName);
resultMap.put("filePath",filePath);
return resultMap;
}

public static String upload(MultipartFile file, String saveDir) throws IOException, AobpException {
//如果文件內容不為空,則寫入上傳路徑
if (!file.isEmpty()) {
//上傳原文件名
String originName = file.getOriginalFilename();
Map<String, String> resultMap = getFilePath(saveDir, originName);
File filePath = new File(resultMap.get("filePath"));
try(FileOutputStream fileOutputStream = new FileOutputStream(filePath)){
FileCopyUtils.copy(file.getInputStream(), fileOutputStream);
}
return resultMap.get("fileName");
}
throw new AobpException(500, "圖片上傳失敗");
}
}

轉載于:https://www.cnblogs.com/gavin-yao/p/10567248.html

總結

以上是生活随笔為你收集整理的图片上传与下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。