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物件儲存的全球加速方案物件
- 使用axios上傳檔案到阿里雲物件檔案儲存伺服器ossiOS阿里物件伺服器
- SpringBoot整合阿里雲OSS物件儲存實現檔案上傳Spring Boot阿里物件
- 【答疑】物件儲存OSS常見問題解答(工具類1)物件
- 華為雲物件儲存OBS,助力企業高效解決儲存問題物件
- 塊儲存 檔案儲存 物件儲存物件
- 【答疑】物件儲存OSS常見問題解答(諮詢類2)物件
- 【答疑】物件儲存OSS常見問題解答(諮詢類1)物件
- 物件儲存OSS上傳、下載發生”便祕”物件
- 阿里雲物件儲存OSS及CDN加速配置阿里物件
- Python基礎教程:Flask上傳檔案(包含中文)儲存後亂碼問題解決PythonFlask
- C#使用HttpClient上傳檔案至阿里雲oss失敗的解決方案。C#HTTPclient阿里
- Laravel 使用阿里雲 oss 儲存物件Laravel阿里物件
- oss-server 小型物件儲存系統Server物件
- 爬蟲專案常見問題及解決方案爬蟲
- 跨域問題及解決方案跨域
- 常見問題及解決方案
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件
- Vector儲存物件的一個問題物件
- FastDFS 海量小檔案儲存解決之道AST
- Kafka常見的問題及解決方案Kafka
- Aliyun Oss 上傳檔案
- 若依框架匯入阿里OSS報錯問題解決方案框架阿里
- Java 讀檔案寫檔案 韓文 中文 亂碼問題解決方案Java
- 解決cookies儲存中文報錯問題Cookie
- 傳真證明力問題的解決方案
- RAC歸檔配置方案:使用NFS共享儲存儲存歸檔檔案NFS
- 軟體專案管理常見問題及解決方案專案管理
- SpringBoot使用阿里OSS實現檔案雲端儲存Spring Boot阿里
- WordPress:常見問題及解決方案
- 解決MongoDB儲存時間時差的問題MongoDB
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- 簡單檔案的上傳與儲存
- JS中toFixed()方法的問題及解決方案JS
- 電腦Hosts檔案修改後無法儲存的原因及解決方法教程
- 如何分發大檔案、大檔案傳輸解決方案
- 阿里雲物件儲存OSS支援版本管理特性阿里物件
- CEPH分散式儲存搭建(物件、塊、檔案三大儲存)分散式物件