操作文件
在HTML表单中,可以上传文件的唯一控件就是 <input type="file"> 。
注意 :当一个表单包含 <input type="file"> 时,表单的 enctype 必须指定为 multipart/form-data , method 必须指定为 post ,浏览器才能正确编码并以 multipart/form-data 格式发送表单的数据。
出于安全考虑,浏览器只允许用户点击 <input type="file"> 来选择本地文件,用JavaScript对 <input type="file"> 的 value 赋值是没有任何效果的。当用户选择了上传某个文件后,JavaScript也无法获得该文件的真实路径:
通常,上传的文件都由后台服务器处理,JavaScript可以在提交表单时对文件扩展名做检查,以便防止用户上传无效格式的文件:
var f = document.getElementById('test-file-upload');
var filename = f.value; // 'C:\fakepath\test.png'
if (!filename || !(filename.endsWith('.jpg') || filename.endsWith('.png') || filename.endsWith('.gif'))) {
alert('Can only upload image file.');
return false;
}