情况是这样的,
我需要在一个网页上设置一个热区<div></div>
然后实现从文件夹中把文件拖曳到该热区中,然后利用js的ondrop事件的event.dataTransfer.files[0]取得文件的相关信息。
问题是我只能取得文件的名字等相关信息,但是取不到文件的在本地电脑上的路径。
请问该路径应该如何取得? 是否因为安全问题而不能取?
我需要在一个网页上设置一个热区<div></div>
然后实现从文件夹中把文件拖曳到该热区中,然后利用js的ondrop事件的event.dataTransfer.files[0]取得文件的相关信息。
问题是我只能取得文件的名字等相关信息,但是取不到文件的在本地电脑上的路径。
请问该路径应该如何取得? 是否因为安全问题而不能取?
看这个帖子能对你有用吗
http://topic.csdn.net/u/20071203/16/38D3C557-CB3A-4030-8F29-D35D1699D40C.html
目前这个功能Gmail、163邮箱、QQ邮箱都有,lz可以看下人家是怎么实现的!
细节看不到至少可以知道是用什么技术做的!
看这里http://reeze.cn/2010/04/25/make-your-site-drop-uploadable-with-html5s-file-api-like-gmail-does/
handleFiles(e.dataTransfer.files); /**
* 读取文件
*
* @since Chrome6 FireFox3.6
*/
function handleFiles(files) {
for (var index = 0; index < files.length; index++) {
var file = files[index]; if (!file.type.match(/image*/)) {
continue;
}
var img = document.createElement('img');
img.file = file;
document.getElementById('drop').appendChild(img);
var reader = new FileReader();
reader.onload = (function(aImg) {
return function(e) {
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
}
但是FileReader在chrome5里不支持。只有Chrome6才支持。请小心使用。
应该是用的11楼的方式,而不是activex