【发布时间】:2013-07-27 22:43:19
【问题描述】:
我想让用户选择一个文件。路径位置应存储在 JavaScript 字符串中。稍后验证后,我想对服务器进行 ajax 调用,以使用 PHP 将文件上传到服务器。
我不想直接提交表单,因为页面会重新加载,并且执行了许多 sql 查询,并且会在服务器上造成不必要的负载。
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
alert(JSON.stringify(f));
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
此警报提供了详细信息,但没有提供我想要的路径。
有关获取路径的任何帮助,以便我可以使用 jquery 通过 ajax 传递字符串并使用 move_uploaded_file 使用 php 上传文件。
提前致谢。
【问题讨论】:
-
你想达到什么目的?通过 AJAX 上传文件?您不能只通过 AJAX 传递字符串,您需要实际上传文件。
-
出于安全原因,您试图实现的目标是不可能的,浏览器永远不会返回这个。你可以在这里找到答案:stackoverflow.com/questions/15201071/…
-
@putvande 您好,先生,我希望文件路径为字符串并发出 ajax 请求以上传文件。我不知道这是否可以完成
-
@scraaappy 有什么方法可以在不重新加载页面的情况下提交表单?
-
看看这个帖子stackoverflow.com/questions/166221/…。也许你可以在那里找到你的解决方案。
标签: php javascript html forms file-upload