我用Jquery读取输入中的文件
<INPUT TYPE=FILE id="file" NAME="upfile" multiple>
使用此代码
$('#inputFile').on('change', 'body', (e) => {
var files: any = e.currentTarget.files; });
但是打字稿不知道e.currentTarget在这种情况下有poperty文件。并给我一个编译错误。
如何解决此问题?
提前致谢
答案 0 :(得分:3)
$('#input-container').on('change', null, (e) => {
var input = <HTMLInputElement>e.target;
var files = input.files; //give you intellisense on files
});
答案 1 :(得分:1)
jQuery.On
有两个不同的重载(版本1.8)。您正在使用错误的重载方法。使用正确的
如果您没有要传递任何数据,请将代码更改为
$('#inputFile').on('change', 'body', null, (e) => {
var files: any = e.currentTarget.files; });
答案 2 :(得分:0)
与@ michael-tranchida相似,但我觉得有点清洁:
export class Page {
public fileToUpload:File = null;
constructor(public fileInput: JQuery, public fileDetails: JQuery) {
$(fileInput).on('change', (e) => {
this.fileToUpload = <File>$(e.target).prop('files')[0];
$(fileDetails).html(this.fileToUpload.name); // intellisense on fileToUpload
});
}
}