我想让用户选择一个文件。路径位置应存储在 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 上传文件。
提前致谢。
最佳答案
当用户做出选择时,您应该有一个值。只需找到一个地方存放它,然后将其拉回您需要的地方即可。如果您不想只是为了获取值而提交表单,则可以在继续实际表单之前包含一个选择/选项组合,从中获取值。没有选择=没有形式。选择=表单,但尚未提交。
关于php - 如何在不提交表单的情况下从输入字段获取文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17903184/