聚合物:使用application / json contentType在文件上传后发布铁形式

时间:2016-12-25 11:53:38

标签: html ajax web-services polymer

我们正在尝试创建一个基于聚合物的应用程序,用户需要将文件上传到处理该应用程序所有数据的Web服务。

我们发现的所有示例都使用FormData对象并重置iron-form contentType字段,以使iron-form使用多部分编码。我们使用的网络服务只接受application/json,因此对我们来说不是一个真正的选择。

理想情况下iron-form只支持<paper-input type="file">并将文件内容加载到JSON字段中,而只是提交文件名。也许我们需要实现pre-submit事件处理程序来读取JavaScript中的文件并将相关的iron-form字段设置为文件的文本?

1 个答案:

答案 0 :(得分:1)

行为是as specified in HTML5

  

否则,如果field元素是其类型的输入元素   属性处于文件上载状态,然后是所选的每个文件   input元素,使用名称在表单数据集中附加一个条目   作为名称,文件(由名称,类型和正文组成)   作为值,并键入类型。

在4.10.22.8(内容类型text/plain)中:

  

如果条目的类型为&#34; file&#34;,请将其值替换为文件的名称   仅

请注意,application/json基本上都是回归。

所以你必须read the file content in JavaScript并自己把它放到JSON-payload中。