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

使用google app engine上传图像的一步上传

戴博
2023-03-14

我正在尝试实现一个非常基本的功能,从Android、iPhone和web客户端上传图像到google app Engine。多亏了这个博客,我完成了实现的初始版本:

然而,上传图像似乎总有两个步骤:

  1. 使用createUploadUrl()获取要发布到的初始上载URL。我附加了我使用的代码片段:
    public class CreateUploadUrl extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
        String uploadURL = blobstoreService.createUploadUrl("/image/uploadImage");
        resp.setContentType("text/plain");
        resp.getWriter().println(uploadURL);
    }
}

  1. 使用刚刚“获得”的URL发布图像

    public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        BlobKey blobKey = ParameterExtractor.getBlobParameter(req, "blob-key", blobstoreService);
        if (blobKey == null) {
            log.info("blob Id is null. POST failed");
        } else {
            log.info("ze business logic");
        }
    }

谢谢Rajat

共有1个答案

寇夜洛
2023-03-14

这是可能的,但有局限性。您可以通过使用(目前是实验性的)createNewBlobFile API直接在servlet中创建Blob来绕过UploadUrl机制。在您的移动应用程序中创建一个编码为多部分/表单数据的HTTP请求,并教您的servlet如何解码这样的东西(例如,参考如何在JSP/servlet中上传文件?)。请注意HTTP请求限制为32MB;使用表单编码,您可以上传的二进制数据量将少于此值。

 类似资料:
  • 经过一些研究,我发现了一个用于多部分文件上传的开放库。在我的情况下,我想上传一个图像使用PUT请求,其中的图像要么是从画廊或相机选择。以下是我正在使用的资源:1。https://github.com/gotev/android-upload-service2.https://www.simplifiedcoding.net/android-upload-image-to-server/#comme

  • 我正试图用Alamofire将图像上传到服务器,但我的代码不起作用。这是我的代码: 这是urlRequestWithComponents方法: 这就是我在控制台得到的: 请求{URL:http://tranthanhphongcntt.esy.es/task_manager/IOSFileUpload/ }响应可选({URL:http://tranthanhphongcntt.esy.es/tas

  • 我正在使用翻新上传图像/文件 在这里,我发布了我的API调用以上传图像 请帮助我如何为这个调用编写接口,我已经用@part和@PartMap试过了,但是不起作用

  • 问题内容: 我使用,并将一些图像加载到上。 现在,我需要一次上传所有这些图像。正在使用,我该怎么做? 我浏览了文档,有一个名为的部分。但是,我无法上传中的图像。 *注意:我想以Byte Array 的形式上传图像。我怎样才能做到这一点?* 我到目前为止的代码, 问题答案: 试试这个。

  • 问题内容: 我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,大概是通过提供的文件输入来进行的,因为在成功发布后会运行回调。 我知道可以使用Selenium Web驱动程序的sendKeys方法来完成。 您如何使用javascript和nightwatch.js完成此操作?您可以访问Selenium Webdriver或与其相关的界面吗? 问

  • 问题内容: 我对jQuery和Ajax函数还比较陌生,但是过去几天一直在使用Ajax表单。我在尝试上传图像时遇到文件上传问题。在寻找资源时,我找不到任何有用的东西,因为它们似乎过于复杂,毫无意义,没有任何解释,这无助于我进一步学习。 我已经编写了以下代码来处理Ajax中的图片上传: 这向文件发送了一个请求,但是没有发送数据,基本上我的表单实际上是这样的: 似乎没有任何数据在标头中传递,我认为我将通