我是 azure 的新手,我想使用 java sdk 在 azure 中上傳檔案并遇到錯誤。
這是我的方法,
BlobServiceClient client = new BlobServiceClientBuilder()
.connectionString(connectStr)
.buildClient();
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);
String localPath = "./data/";
String fileName = "quickstart" java.util.UUID.randomUUID() ".txt";
BlobClient blobClient = blobContainerClient.getBlobClient(fileName);
FileWriter writer = null;
try
{
writer = new FileWriter(localPath fileName, true);
writer.write("Hello, World!");
writer.close();
}
catch (IOException ex)
{
System.out.println(ex.getMessage());
}
blobClient.uploadFromFile(localPath fileName);
例外,
執行緒“main”中的例外 java.lang.illegalArgumenatation:輸入位元組陣列在 java.base/java.util.Base64$Decoder.decode0(Base64.java:837) 處有錯誤的 4 位元組結束單元
請幫忙解決這個問題?
uj5u.com熱心網友回復:
我在我的環境中嘗試并成功地將檔案上傳到 azure blob 存盤中。
package com.blobs.quickstart;
import com.azure.storage.blob.*;
import com.azure.storage.blob.BlobServiceClient;
public class App
{
public static void main( String[] args )
{
String connectStr = "<Connection string>";
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectStr).buildClient();
String containerName = "test";
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerName);
String localPath = "C:\\Users\\v-vsettu\\Documents\\Venkat\\barcode.docx";
BlobClient blobClient = containerClient.getBlobClient("barcode.docx");
System.out.println("Blob uploaded");
blobClient.uploadFromFile(localPath);
}
}
安慰:

門戶網站:

最初,我遇到了同樣的錯誤:
因為當我在代碼中傳遞錯誤的連接字串或訪問密鑰時,我得到了一個錯誤。確保您的連接字串正確。
您可以從門戶獲取連接字串:

參考: 快速入門:Azure Blob 存盤庫 - Java | 微軟學習
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/534650.html
標籤:爪哇天蓝色天蓝色斑点存储
