七牛云檔案上傳
@RequestMapping("/upload")
public Result upload(MultipartFile imgFile) {
try {
//獲取原始檔案名
String originalFilename = imgFile.getOriginalFilename();
// 找到.最后出現的位置
int lastIndexOf = originalFilename.lastIndexOf(".");
//獲取檔案后綴
String suffix = originalFilename.substring(lastIndexOf);
//使用UUID隨機產生檔案名稱,防止同名檔案覆寫
String fileName = UUID.randomUUID().toString() + suffix;
QiniuUtils.upload2Qiniu(imgFile.getBytes(),fileName);
//圖片上傳成功
Result result = new Result(true, MessageConstant.PIC_UPLOAD_SUCCESS, fileName);
return result;
} catch (IOException e) {
e.printStackTrace();
}
return new Result(false,MessageConstant.PIC_UPLOAD_FAIL);
}
七牛云工具類
package com.atguigu.utils; import com.google.gson.Gson; import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.http.Response; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.util.Auth; import org.junit.Test; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; /** * 七牛云工具類 */ public class QiniuUtils { public static String accessKey = "BrrMVEQCE6ijrnHX-gGDVVk3e0vY8mAQQEyB_Zzq"; public static String secretKey = "uaJNMOUGSkZqb3xce-gv4Y-2f0f5_X5VQO-v4lL0"; public static String bucket = "meinian888"; public static void upload2Qiniu(String filePath,String fileName){ //構造一個帶指定Zone物件的配置類 Configuration cfg = new Configuration(Zone.zone2()); UploadManager uploadManager = new UploadManager(cfg); Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(filePath, fileName, upToken); //決議上傳成功的結果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); } catch (QiniuException ex) { Response r = ex.response; try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { //ignore } } } //上傳檔案 public static void upload2Qiniu(byte[] bytes, String fileName){ //構造一個帶指定Zone物件的配置類 Configuration cfg = new Configuration(Zone.zone2()); //...其他引數參考類注釋 UploadManager uploadManager = new UploadManager(cfg); //默認不指定key的情況下,以檔案內容的hash值作為檔案名 String key = fileName; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(bytes, key, upToken); //決議上傳成功的結果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); System.out.println(putRet.key); System.out.println(putRet.hash); } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { //ignore } } } //洗掉檔案 public static void deleteFileFromQiniu(String fileName){ //構造一個帶指定Zone物件的配置類 Configuration cfg = new Configuration(Zone.zone2()); String key = fileName; Auth auth = Auth.create(accessKey, secretKey); BucketManager bucketManager = new BucketManager(auth, cfg); try { bucketManager.delete(bucket, key); } catch (QiniuException ex) { //如果遇到例外,說明洗掉失敗 System.err.println(ex.code()); System.err.println(ex.response.toString()); } } }View Code
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/509498.html
標籤:其他
上一篇:Java8Stream流
