[英]how to create/initialize the file object using file path html5
有许多使用html5读取本地文件的例子,但是从文件列表中选择,我的问题是我想手动创建文件对象,想想我有一个带链接的文件
file:///G:/Users/txt.txt
我希望浏览器打开它,
我认为它必须File f=new File('file:///G:/Users/txt.txt');
我的问题是如何使用文件路径创建/初始化文件对象?
我使用了以下解决方法,因为File继承了blob接口。
var getFileBlob = function (url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.addEventListener('load', function() {
cb(xhr.response);
});
xhr.send();
};
var blobToFile = function (blob, name) {
blob.lastModifiedDate = new Date();
blob.name = name;
return blob;
};
var getFileObject = function(filePathOrUrl, cb) {
getFileBlob(filePathOrUrl, function (blob) {
cb(blobToFile(blob, 'test.jpg'));
});
};
getFileObject('img/test.jpg', function (fileObject) {
console.log(fileObject);
});
没有用户的许可,确实无法创建文件。 需要按下按钮或其他东西。 您需要创建一个数据:uri才能保存。 您可以使用网络搜索或查看http://en.wikipedia.org/wiki/Data_URI_scheme找到更多信息(不是完整的来源,但可以显示可能的内容)。 这取决于手机和操作系统,这是非常有限的。 使用IE时数据URI有限。
当触发下载时,它会保存到默认位置或指定的用户。 您可能还想查看可以按照您的描述执行的供应商/操作系统特定的API调用。 但可能需要在实际允许访问之前验证权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.