所以我有一个“文件”对象(通过处理从桌面拖放文件来检索)。我可以使用ajax将文件发送到服务器,然后将它们返回给javascript来处理它们。但是可以在不做所有这些的情况下阅读它的内容吗?
Here, play around with this fiddle.将任何文件拖到框中并使用变量file
。
我已经尝试过这个对象的所有方法......没有运气。你能获得刚刚拖入浏览器的文件内容吗?
PS:我会将文件发送到服务器,如下所示:
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.open("returnRawPostData.php");
ajaxRequest.send(file);
我可能在上面的代码中遗漏了一些东西,但这只是因为我不再使用普通的JS来进行AJAX调用。
答案 0 :(得分:25)
使用 Martin Mally 的链接(非常感谢!),我想出了这个:
var file = e.dataTransfer.files[0],read = new FileReader();
read.readAsBinaryString(file);
read.onloadend = function(){
console.log(read.result);
}
read.result
保存文件内容的位置。
答案 1 :(得分:8)
我认为这是可能的;检查这两篇文章:
在上传到服务器之前,他们都通过JS / HTML操作“删除”文件。 (例如图片大小调整等)我希望它有所帮助。