HTML文件标记:.files [0]和.value之间的区别

时间:2014-04-20 16:00:02

标签: javascript ajax html5

我正在写一个AJAX文件上传器,我遇到了这个问题: 我需要将文件附加到FormData,但有些浏览器支持文件标签的文件属性(在html5中定义),而其他浏览器仅支持值;所以我写了这个:

 d.append('mFile',pfile);

其中pfile是files [0]或value,具体取决于浏览器支持的内容。

唯一的问题:价值在任何浏览器上都不起作用。

我该如何解决?

注意:我不能使用JQuery。

1 个答案:

答案 0 :(得分:0)

.filesFileList.files[0]是文件(如果列表为空,则为未定义)。
.value只是一个字符串(通常是一个混淆的文件名) 要使用FormData上传文件,您必须将文件(或Blob)传递给它。传递.value只会发布文件名 如果浏览器支持FormData,那么它很可能支持FileList,因此没有理由将.value传递给FormData。