Недавно я создал функцию HTTP Triggered Java Azure для обработки некоторых моих внутренних задач. Эта основная цель Azure -Функций состояла в том, чтобы принимать / считывать файлы изображений, помещенные в объект javascript FormData, и загружать файлы в мое хранилище BLOB-объектов azure.
Я искал в Интернете, но не смог найти рабочий пример того, как читать файл из объекта FormData в java? Я видел несколько примеров того, как это делается с azure функциями в C# и node.js.
Вот ссылка -> Azure функции - Как читать данные формы
Так что должен быть способ сделать это в Java, делает кто-нибудь есть или кто-нибудь может привести рабочий пример?
public class Function {
@FunctionName("HttpTrigger-Java")
public HttpResponseMessage run(@HttpTrigger(name = "req", methods =
{HttpMethod.POST}) HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
String postRequest = request.getBody();
//HELP: I need to get the FormData object from the postRequest some how...
FormData formDataObj = postRequest.getFormData();
//HELP: Then I need to get my image file from the FormData Object...
File sourceFile = formDataObj.getImageFile();
try {
// Parse the connection string
storageAccount = CloudStorageAccount.parse(storageConnectionString);
// get blob client
blobClient = storageAccount.createCloudBlobClient();
// get container name
container = blobClient.getContainerReference(containerName);
//Getting a blob reference
blob = container.getBlockBlobReference(sourceFile.getName());
//Creating blob and uploading file to it
blob.uploadFromFile(sourceFile.getAbsolutePath());
} catch (StorageException ex) {
return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("There was an error with Storage Account.").build();
}
return request.createResponseBuilder(HttpStatus.OK).body("Images Uploaded Successfully!, ").build();
}
}