OSS物件儲存的檔案追加上傳問題及解決方案
最近專案中碰到這樣一個問題,在我們軟體的版本更新中的更新日誌,需要每次更新的內容對同一個檔案進行追加。然後我看了下阿里雲的文件是這樣寫的,地址https://help.aliyun.com/document_detail/84784.html?spm=a2c4g.11186623.4.2.23fc2201CSZFks
詳情大家可以去上面連結檢視。
接下來講講問題:當你這個檔案是空的,也就是說你這個檔案OKB時,執行這個沒有任何問題,可以追加上去,因為檔案長度確實是0.
當你第二次再追加是,你會發現,它會給你拋異常,意思是說檔案長度和檔案位置不相等
怎麼解決呢?
我也琢磨了半天,查文件,發現並沒有。因為官方例子中很明確告訴我們第二次之後的追加需要提供Position長度,問題是怎麼拿到這個檔案長度呢?
終於,在官方jar中找到提供了一個OSSObject 這個實體類,裡面存放著檔案內容流
以下便是
OSSObject ossObject = ossClient.getObject("bucketName", "key");
InputStream inputStream = ossObject.getObjectContent();
int ww;
try {
ww = inputStream.available();
appendObjectRequest.setInputStream(new ByteArrayInputStream(content1.getBytes()));
appendObjectRequest.setPosition((long)ww);
AppendObjectResult appendObjectResult = ossClient.appendObject(appendObjectRequest);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
搞定!!!
相關文章
- OSS物件儲存的全球加速方案物件
- SpringBoot整合阿里雲OSS物件儲存實現檔案上傳Spring Boot阿里物件
- 使用axios上傳檔案到阿里雲物件檔案儲存伺服器ossiOS阿里物件伺服器
- 【答疑】物件儲存OSS常見問題解答(工具類1)物件
- 塊儲存 檔案儲存 物件儲存物件
- 【答疑】物件儲存OSS常見問題解答(諮詢類1)物件
- 【答疑】物件儲存OSS常見問題解答(諮詢類2)物件
- 華為雲物件儲存OBS,助力企業高效解決儲存問題物件
- Python基礎教程:Flask上傳檔案(包含中文)儲存後亂碼問題解決PythonFlask
- 阿里雲物件儲存OSS及CDN加速配置阿里物件
- 物件儲存OSS上傳、下載發生”便祕”物件
- C#使用HttpClient上傳檔案至阿里雲oss失敗的解決方案。C#HTTPclient阿里
- Redis儲存物件問題Redis物件
- Laravel 使用阿里雲 oss 儲存物件Laravel阿里物件
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件
- oss-server 小型物件儲存系統Server物件
- Spring Boot 整合阿里雲 OSS 進行檔案儲存Spring Boot阿里
- SpringBoot使用阿里OSS實現檔案雲端儲存Spring Boot阿里
- FastDFS 海量小檔案儲存解決之道AST
- 跨域問題及解決方案跨域
- Kafka常見的問題及解決方案Kafka
- Aliyun Oss 上傳檔案
- 阿里雲物件儲存OSS支援版本管理特性阿里物件
- 解決MongoDB儲存時間時差的問題MongoDB
- Unirech:阿里雲國際站的物件儲存oss與自建儲存的區別阿里物件
- 若依框架匯入阿里OSS報錯問題解決方案框架阿里
- CEPH分散式儲存搭建(物件、塊、檔案三大儲存)分散式物件
- 電腦Hosts檔案修改後無法儲存的原因及解決方法教程
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- WordPress:常見問題及解決方案
- 如何分發大檔案、大檔案傳輸解決方案
- Springboot 遷移及上傳檔案至阿里雲OSSSpring Boot阿里
- HttpClient多檔案上傳程式碼及普通引數中文亂碼問題解決HTTPclient
- JS中toFixed()方法的問題及解決方案JS
- 資料倉儲的效能問題及解決之道
- 使用rsync服務+nas方案解決伺服器儲存安全性問題的一種方案伺服器
- 物件儲存服務MinIO安裝部署分散式及Spring Boot專案實現檔案上傳下載物件分散式Spring Boot
- 快取三大問題及解決方案快取