七牛雲上傳檔案工具類
阿新 • • 發佈:2019-02-19
1 方法1 upload(String file, String filename)上傳伺服器檔案路徑的demo
2 方法2
updateFile(MultipartFile file, String filename) 上傳springmvc multipartFile 前端上傳的檔案流上傳demo,
僅供參考,有問題多多指教
import com.google.gson.Gson; import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.util.Auth; import org.springframework.web.multipart.MultipartFile; import java.io.*; public class QinniuUtil { //設定好賬號的ACCESS_KEY和SECRET_KEY private static String ACCESS_KEY = "your access_key"; //這兩個登入七牛 賬號裡面可以找到 private static String SECRET_KEY = "your secret_key"; //要上傳的空間 private static String bucketname = "bucketname1"; //對應要上傳到七牛上 你的那個路徑(自己建資料夾 注意設定公開) //金鑰配置 private static Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); //建立上傳物件 private static UploadManager uploadManager = new UploadManager(); //簡單上傳,使用預設策略,只需要設定上傳的空間名就可以了 public static String getUpToken(){ return auth.uploadToken(bucketname); } /** 普通上傳[根據檔案路徑] * * @param file * @param filename 上傳到七牛後儲存的檔名 * @throws IOException */ public static void upload(String file, String filename) throws Exception { try { //呼叫put方法上傳 Response res = uploadManager.put(file, filename, getUpToken()); //列印返回的資訊 System.out.println(res.bodyString()); } catch (QiniuException e) { Response r = e.response; // 請求失敗時列印的異常的資訊 System.out.println(r.toString()); try { //響應的文字資訊 System.out.println(r.bodyString()); } catch (QiniuException e1) { //ignore } } } /** *springmvc MultipartFile 上傳檔案流 * @param file 上傳檔案流 * @param filename 檔名 * @return * @throws Exception */ public static String updateFile(MultipartFile file, String filename) throws Exception { //預設不指定key的情況下,以檔案內容的hash值作為檔名 try { InputStream inputStream=file.getInputStream(); ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] buff = new byte[600]; //buff用於存放迴圈讀取的臨時資料 int rc = 0; while ((rc = inputStream.read(buff, 0, 100)) > 0) { swapStream.write(buff, 0, rc); } byte[] uploadBytes = swapStream.toByteArray(); try { Response response = uploadManager.put(uploadBytes,filename,getUpToken()); //解析上傳成功的結果 DefaultPutRet putRet; putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { } } } catch (UnsupportedEncodingException ex) { } return null; } public static void main(String args[]) throws Exception { new QinniuUtil().upload("d:\\\\20151207175926.jpg", "201801311508134441233.png"); } }