Javascript输入.files[i].url?
我使用的是一个javscript,它获取用户在上传表单中选择的文件的文件名。但是,我想在他们的PC上抓取文件所在的URL-我该怎么做 我的代码:Javascript输入.files[i].url?,javascript,Javascript,我使用的是一个javscript,它获取用户在上传表单中选择的文件的文件名。但是,我想在他们的PC上抓取文件所在的URL-我该怎么做 我的代码: for (var i = 0; i < input.files.length; i++) { var li = document.createElement("li"); li.innerHTML = input.files[i].name; ul.appendChild(li); } for(var i=0;i
for (var i = 0; i < input.files.length; i++) {
var li = document.createElement("li");
li.innerHTML = input.files[i].name;
ul.appendChild(li);
}
for(var i=0;i
它显示input.files[i].name,但我不想要名称-我想要它所在的URL。我该怎么做呢?这些信息是私人的。浏览器不向JavaScript提供该信息。没有文件在用户机器上存储位置的URL
此外,不同的浏览器向服务器发送关于文件名的不同信息,有些只发送文件名,有些发送完整路径,因此您不能依赖于获取完整路径。由于可能存在安全隐患,您不能在Javascript中执行此操作;为了用户的利益,您不能这样做,因此标准没有为您指定访问文件URI的方法 如果您真的需要这个功能,那么您需要使用其他第三方插件(如Java)来实现这一点,尽管我不推荐这样做
嗯,我不是去偷URL——我想显示他们定位的文件的预览(比如,如果他们选择了一个图像,我可以对它进行base32并让它预览) 您无法访问/使用用户的本地文件系统路径。这意味着您不能使用其计算机上文件的真实路径进行预览 如果你需要一个URL/路径来访问文件,你可以创建一个临时的URL来完成这类事情,比如显示图像预览。执行此操作的Javascript方法是:
window.URL.createObjectURL(myObject)
()
下面是一个使用HTML、Javascript和jQuery的图像预览示例
<div id="formContainer">
<form action="http://example.com" method="POST">
<input id="imageUploadInput" name="imageUploadInput" type="file" accept="image/*" />
<button id="submitButton" type="submit">Submit</button>
</form>
</div>
<div id="imagePreviewContainer">
</div>
<script type="text/javascript">
$("#imageUploadInput").change(function () {
var image = this.files[0];
$("#imagePreviewContainer").innerHTML = '';
var imgCaption = document.createElement("p");
imgCaption.innerHTML = image.name;
var imgElement = document.createElement("img");
imgElement.src = window.URL.createObjectURL(image);
imgElement.onload = function () {
window.URL.revokeObjectURL(this.src);
};
$("#imagePreviewContainer").innerHTML = ''; // clear existing content
$("#imagePreviewContainer").append(imgCaption);
$("#imagePreviewContainer").append(imgElement);
});
</script>
提交
$(“#imageUploadInput”).change(函数(){
var image=this.files[0];
$(“#imagePreviewContainer”).innerHTML='';
var imgCaption=document.createElement(“p”);
imgCaption.innerHTML=image.name;
var imgElement=document.createElement(“img”);
imgElement.src=window.URL.createObjectURL(图像);
imgElement.onload=函数(){
window.URL.revokeObjectURL(this.src);
};
$(“#imagePreviewContainer”).innerHTML='';//清除现有内容
$(“#imagePreviewContainer”).append(imgCaption);
$(“#imagePreviewContainer”).append(imgElement);
});
在这里自己尝试一下:我不想窃取URL-我想显示他们定位的文件的预览(比如,如果他们选择了一幅图像,我可以对其进行base32预览)