我正在写一个AJAX文件上传器,我遇到了这个问题: 我需要将文件附加到FormData,但有些浏览器支持文件标签的文件属性(在html5中定义),而其他浏览器仅支持值;所以我写了这个:
d.append('mFile',pfile);
其中pfile是files [0]或value,具体取决于浏览器支持的内容。
唯一的问题:价值在任何浏览器上都不起作用。
我该如何解决?
注意:我不能使用JQuery。
答案 0 :(得分:0)
.files
是FileList,.files[0]
是文件(如果列表为空,则为未定义)。
.value
只是一个字符串(通常是一个混淆的文件名)
要使用FormData上传文件,您必须将文件(或Blob)传递给它。传递.value
只会发布文件名
如果浏览器支持FormData,那么它很可能支持FileList,因此没有理由将.value
传递给FormData。