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

使用API网关使用Multipart/Form-Data上传CSV文件

邬朗
2023-03-14

我有一个用例,我需要通过AWS API网关使用AngularJS应用程序将CSV文件上传到我的后端应用程序(运行在Elastic Beanstalk-Django Python REST应用程序中)。

  1. API网关与AWS Cognito集成。
  2. 后端应用程序需要CSV上载的表单数据。

重要设置在API网关资源POST方法中完成

  1. API网关->设置->二进制媒体类型-添加了‘多部分/表单-数据
  2. 将标题添加到“方法请求”-“内容类型”和“接受”
  3. 在“集成请求”-“内容-类型”和“接受”中添加了标题
  4. 将内容类型添加到“方法请求”请求正文中,作为“multipart/form-data”
  5. 在“集成请求”中,将multipart/form-data添加到“映射模板”中

在做了所有这些设置后,我得到了500“内部服务器错误”的响应。我查看了Django应用程序的日志,发现后端URL没有被访问。

共有1个答案

隗驰
2023-03-14

我终于能够使用multipart/form-data执行post请求以进行CSV上载。

下面是所需的步骤。

>

  • 在API网关中添加二进制媒体类型->设置->二进制媒体类型'multipart/form-data'
  • 将标题“content-type”和“accept”添加到“method request”中。
  • 将“content-type”添加到“method Request”->请求主体中,作为“multipart/form-data”。

    希望这对那些在整合过程中面临挑战的人有所帮助。

  •  类似资料:
    • 问题内容: 我正在尝试使用伪装完成多部分文件上传,但似乎在任何地方都找不到很好的示例。我本质上希望HTTP请求类似于以下内容: 甚至… 我是否需要手动构建请求主体,包括生成多部分边界?考虑到此客户端可以执行的其他所有操作,这似乎有点过头了。 问题答案: 不,你没有。您只需要定义一种代理接口方法,将content-type指定为:multipart / form- data和其他信息,例如远程API

    • 我试图使用feign完成一个多部分文件上传,但是我似乎在任何地方都找不到一个好的例子。我基本上希望HTTP请求的结果类似如下: 或者甚至… 我需要手动构建请求体吗,包括生成多部分边界?考虑到这个客户端可以做的所有其他事情,这似乎有点过分。

    • 我正在尝试使用curl向REST服务发布一个xml文件(utf-16编码)。REST服务需要“multipart/form-data”内容类型。 Curl脚本:Curl-k-i-h“content-type=multipart/form-data”-f“filename=@file.xml;type=text/xml”-x POST-u: 然而,我在运行脚本时得到500个内部服务器错误。 响应:<

    • 我正在尝试上传一个文本文件(也尝试了PDF等)到Salesforce。文本文件包含“Hello World”。 这是我正在使用的代码 这将导致以下看起来符合Salesforce指导原则的请求正文:https://developer.Salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_insert_update_bl

    • 问题内容: 我正在尝试使用go将图像从计算机上传到网站。通常,我使用bash脚本将文件和密钥发送到服务器: 它工作正常,但我正在尝试将此请求转换为我的golang程序。 http://matt.aimonetti.net/posts/2013/07/01/golang-multipart-file-upload- example/ 我尝试了此链接和许多其他链接,但是,对于我尝试的每个代码,服务器的

    • 问题内容: 我正在开发使用不同服务其余部分的图形界面(用Java编写)。我必须调用这样的服务: 呼叫服务: 当我从Angularjs服务文件中请求时,如果服务具有Content-Type = multipart / form- data,则会收到错误400(错误请求) 如果服务的Content-Type =“ application / x-www-form-urlencoded; charset