File upload 如何重置聚合物文件输入元素,以便能够连续再次上载同一文件?

File upload 如何重置聚合物文件输入元素,以便能够连续再次上载同一文件?,file-upload,polymer,web-component,File Upload,Polymer,Web Component,我们有一个文件输入元素,用于上传JSON文件,而JSON文件反过来又提供一个jade模板。但是,如果用户再次尝试上载相同的文件(带有更改),则不会触发“更改时”事件。 我们已经尝试将文件输入包装在HTML表单中,并为每次上载重置表单,但这并不能解决问题。 这是HTML的精简版本: <polymer-element name="x-application"> <template> <div class='body-wrap' vertical layout

我们有一个文件输入元素,用于上传JSON文件,而JSON文件反过来又提供一个jade模板。但是,如果用户再次尝试上载相同的文件(带有更改),则不会触发“更改时”事件。 我们已经尝试将文件输入包装在HTML表单中,并为每次上载重置表单,但这并不能解决问题。 这是HTML的精简版本:

<polymer-element name="x-application">
  <template>
    <div class='body-wrap' vertical layout flex>
      <div class='main-nav'>
        <file-input id="file" on-change="{{changeHandler}}">
          <div>Open File</div>
        </file-input>
      </div>
    </div>
  </template>
</polymer-element>

我们希望能够上传同一个文件的变化多次。此外,该应用程序预计只能在Chrome 38+上可靠工作。

在处理程序中,您可能需要重置文件输入:

Polymer('x-application', {
  changeHandler: function(e) {
    this.$.file.reset();
    alert('Bingo!');
  }
});
或者,含咖啡因:

changeHandler: (e) ->
  @$.file.reset()
  ...
实时预览(不包括CSS,请尝试选择一个文件两次):

changeHandler: (e) ->
  @$.file.reset()
  ...