Невозможно загрузить изображение в хранилище Azure Blob Android
Я пытаюсь загрузить изображение в хранилище BLOB-объектов Azure. Я использую Java SDK для Azure. Я ссылался на библиотеки. Вот мой код..
public void uploadImage(View view) {
// Do something in response to button click
try
{
String storageConnectionString =
RoleEnvironment.getConfigurationSettings().get("StorageConnectionString");
CloudStorageAccount storageAccount =
CloudStorageAccount.parse(storageConnectionString);
// Create the blob client
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
// Retrieve reference to a previously created container
CloudBlobContainer container = blobClient.getContainerReference("classifieds");
// Create or overwrite the "myimage.jpg" blob with contents from a local file
CloudBlockBlob blob = container.getBlockBlobReference("myimage.png");
InputStream ims = getAssets().open("myimage.png");
int len =ims.available();
blob.upload(ims,(long)ims.available());
}
catch(Exception ex)
{
System.out.println(ex);
}
}
Вот мой журнал ошибок
05-05 15:34:25.295: E/Trace(5195): ошибка при открытии файла трассировки: нет такого файла или каталога (2) 05-05 15:34:26.105: I/dalvikvm(5195): не удалось найти метод com.microsoft.windowsazure.serviceruntime.RoleEnvironment.getConfigurationSettings, на который ссылается метод com.example.azuresample.MainActivity.uploadImage 05-05 15:34:26.105: W/dalvikvm(5195): VFY: невозможно разрешить статический метод 8441: Lcom/microsoft/windowsazure/serviceruntime/RoleEnvironment;.getConfigurationSettings ()Ljava/util/Map; 05-05 15:34:26.105: D/dalvikvm(5195): VFY: замена кода операции 0x71 на 0x0000 05-05 15:34:26.550: D/gralloc_goldfish(5195): эмулятор без эмуляции GPU обнаружен. 05-05 15:34:34.254: D/AndroidRuntime(5195): завершение работы виртуальной машины 05-05 15:34:34.254: W/dalvikvm(5195): threadid=1: поток завершается с неперехваченным исключением (группа =0x40a13300) 05-05 15:34:34.285: E/AndroidRuntime(5195): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное
1 ответ
Вы можете использовать только RoleEnvironment
класс, когда ваш код работает как Cloud Service
, Поскольку вы запускаете код в приложении Android, этот класс вам недоступен.
Если параметры подключения находятся в файле конфигурации, вы можете использовать другие методы для чтения из этого файла конфигурации.