java - 如何从 Azure Function java 发送 pdf 响应?

标签 java azure azure-functions

有人可以让我知道如何从 Java 中的 HTTP 触发器 Azure 函数发送 pdf 响应吗?

触发该函数后,我需要从 Azure 存储中读取 pdf 并将该 pdf 作为响应返回给浏览器。

最佳答案

这对我来说效果很好:

package com.function;

import java.net.URISyntaxException;
import java.security.InvalidKeyException;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;

import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.blob.*;

public class HttpTriggerJava {
    @FunctionName("HttpTriggerJava")
    public HttpResponseMessage run(@HttpTrigger(name = "req", methods = { HttpMethod.GET,
            HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {
        context.getLogger().info("Java HTTP trigger processed a request.");

        try {
            CloudStorageAccount storageAccount = CloudStorageAccount.parse(
                    "{your storage connections tring}");
            CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
            CloudBlobContainer container = blobClient.getContainerReference("{container name}");
            CloudBlockBlob blob = container.getBlockBlobReference("{filename}");

            byte[] content = new byte[blob.getStreamWriteSizeInBytes()];
            blob.downloadToByteArray(content, 0);

            return request.createResponseBuilder(HttpStatus.OK)
                .body(content)
                .build();

        } catch (InvalidKeyException | URISyntaxException e) {
            e.printStackTrace();
            return request.createResponseBuilder(HttpStatus.NOT_FOUND)
                .body(e.getMessage())
                .build();
        } catch (StorageException e) {
            e.printStackTrace();
            return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR)
                .body(e.getMessage())
                .build();
        }   
    }
}

关于java - 如何从 Azure Function java 发送 pdf 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603812/

相关文章:

Java 格式化程序不写入文件

azure - 错误 : C:\Program Files\Docker\docker. exe:无法注册层:重新执行错误:退出状态 1:输出:ProcessUtilityVMImage

azure - 避免覆盖 AZURE 的 blob

c# - 在 Azure Function 2.x 中使用 C# 对 HTTP 请求的函数参数进行模型绑定(bind)

azure - Azure Functions 中令人费解的存储事务

java - 输出不是我所期望的。有人能让我明白为什么会这样吗?

java - 有效/无效的非 ASCII 字符和无效的 ASCII 字符

Azure AD OAuth2 - 跳过帐户选择

Azure Function CosmosDBTrigger 不可扩展

java - 将系统应用程序的文件复制到另一个位置时出错