0

假设我有<input type="file" name="file1" id="foo">. 是否可以使用javascript以某种方式将文件对话框结果返回到此输入中?

我想它是这样工作的:当你选择文件 chrome 时,将该文件复制到某种文件夹“temp”中,当你提交表单时,chrome 将它发送到服务器,但是有可能以某种方式或我唯一的方式将路径更改为完整路径机会是首先将所有文件复制到谷歌临时文件夹中,然后使用 js 添加文件

有谁知道我选择文件后存储的文件路径在哪里?

4

3 回答 3

0

通过文件选择对话框添加的文件将保留在同一位置,直到您按下提交。之后,文件选择器后面的任何 JS 代码都会处理副本。没有使用临时文件夹或任何临时存储。如果你的输入类型是文件,你不需要做任何特别的事情,文件对话框会自动链接到它。

也许我理解这个问题是错误的。不,不可能使用 Javascript 访问文件系统。如果这是可能的,那将是一个巨大的安全风险。您需要有用户交互才能上传文件。

于 2013-10-23T12:12:05.050 回答
0

您可以尝试使用File API。使用它的简单方法是收听change您输入的事件

document.getElementyById('foo').addEventListener('change', function(e) {
    var files = e.target.files;
}, false);

然后你可以使用FileReader来处理文件

var reader = new FileReader();
reader.readAsDataURL(files[0]);

警告!这个例子非常简化。您可能想阅读这篇文章以获得完整的图片。

于 2013-10-23T12:12:15.693 回答
0

尝试这个

 // select the file input (using a id would be faster)
 $('input[type=file]').change(function() { 
// select the form and submit
$('form').submit(); 
});

或者

有一种通过 AJAX 上传文件的好方法。你可以试试这个点击这里

于 2013-10-23T12:16:02.883 回答