当前位置: 首页 > 知识库问答 >
问题:

如何从Azure函数java发送pdf响应?

商飞航
2023-03-14

有人能告诉我如何从Java中的HTTP触发器Azure函数发送pdf响应吗。

一旦该功能被触发,我需要从Azure存储中读取pdf,并将pdf作为响应返回到浏览器。

共有1个答案

袁青青
2023-03-14

这对我来说很好:

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();
        }   
    }
}
 类似资料:
  • 我正在尝试编写一个将图像转换为PDF文件的web应用程序。用户发送两幅图像(JPEG、PNG),并应接收和下载PDF文件。 目前的主要问题是我不知道如何将PDF文件返回给客户端。 这是我的控制器: 这是将图像转换为PDF文件的服务(这里我使用库): 另外,当生成文件以从存储中下载文件时,可以将PDF文件存储在某个位置,并在客户端创建“下载”按钮?

  • 我是Azure函数的新手,我有Service Bus Queue Trigger Azure函数,每当消息被推到队列中时,它都会从Service Bus队列中提取数据,我希望将消息从Service Bus Queue Trigger Azure函数发送到持久函数,然后实现扇入/出逻辑。我不知道如何从Service Bus Queue Trigger Azure函数发送消息,或者是否有其他方法将消息

  • 问题内容: 我的要求是使用HTTP Servlet将PDF数据响应到移动客户端(iPhone)。 我是按照以下方式完成的,但是我没有在客户端获得预期的输出。 我遵循的方法正确吗?请指教。 谢谢。 问题答案: 您必须使用ServletOutputStream及其write()方法将字节写入response。

  • 问题内容: 我正在从perl / cgi程序编写JSON响应。标头的内容类型必须为“ application / json”。但这似乎并未被识别为响应是作为文本文件抛出的。 我将使用jQuery的JSON库捕获响应。在发送JSON响应时我缺少什么地方。 问题答案: 我在perl / cgi程序中执行此操作。 我在代码的顶部使用了这些: 然后我打印json标头: 这是以下内容的类型: 然后我像这样打

  • 问题内容: 如何从Java发送SMTP消息? 问题答案: 这是Gmail smtp的示例: 现在,仅当您希望将项目依赖关系降至最低时,才可以这样做,否则我可以热烈推荐使用apache中的类 http://commons.apache.org/email/ 问候 托雷·雅各布森