file-upload - 从 <input type ="file"> 上传文件

标签 file-upload input angular

使用 angular 2 beta,我似乎无法获得 <input type="file">去工作。

使用诊断,我可以看到其他 type 的双向绑定(bind)如text .

<form>
    {{diagnostic}}
    <div class="form-group">
        <label for="fileupload">Upload</label>
        <input type="file" class="form-control" [(ngModel)]="model.fileupload">
    </div>
</form>

在我的 TypeScript 文件中,我有以下诊断行:

get diagnostic() { return JSON.stringify(this.model); }

难道是不是JSON的问题?值为 null .

我无法真正验证 input 的值. У尽管“选择文件...”旁边的文本更新了,但出于某种原因我看不到 DOM 中的差异。

最佳答案

我认为它不受支持。如果您查看此 DefaultValueAccessor 指令(请参阅 https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/directives/default_value_accessor.ts#L23)。您将看到用于更新绑定(bind)元素的值是 $event.target.value

这不适用于类型为 file 的输入,因为文件对象可以到达 $event.srcElement.files

更多细节,你可以看看这个plunkr:https://plnkr.co/edit/ozZqbxIorjQW15BrDFrg?p=info :

@Component({
  selector: 'my-app',
  template: `
    <div>
      <input type="file" (change)="onChange($event)"/>
    </div>
  `,
  providers: [ UploadService ]
})
export class AppComponent {
  onChange(event) {
    var files = event.srcElement.files;
    console.log(files);
  }
}

关于file-upload - 从 &lt;input type ="file"> 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35399617/

相关文章:

c# - 上传后如何重命名文件

file-upload - Yii 文件字段为空

ios - 从 IOS 上传图像文件到 Web 服务器

java - 如何区分鼠标事件和触摸屏事件?

angular - 如何专注于 Angular 中的输入

javascript - 如何检查订阅功能是否在 Angular 中工作?

c# - NeatUpload 在远程服务器上上传 pdf 和 gif 文件时出现问题

javascript - 根据另一个输入值隐藏输入

javascript - 当用户输入 React js 时如何设置自定义输入状态结构

typescript - 将 Observable 对象中的数组与 ngFor 和 Async Pipe Angular 2 结合使用