atitit.javascript js 上传文件的本地预览
1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以避免内存泄漏1
1. .URL.createObjectURL
URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里. 新的对象URL指向执行的File对象或者是Blob对象.
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以避免内存泄漏
为 audio、video 或 img 元素加载媒体的一种常见方式是使用 URL.createObjectURL 方法创建一个它可以使用的 URL。如果你使用此方法,那么此方法会告诉系统保留一个到你的媒体(该媒体可能是 Blob、File 或 StorageFile)的内部引用。系统将使用此内部引用来使对象流到适当的元素。但系统不知道何时需要该数据,因此,在你告诉它释放之前,它会一直保留该内部引用。
1.2. aticode
proj.wechat act
getObjectURL("fileControlId)
1.3. code--
var objUrl = getObjectURL(document.getElementById("filex").files[0]) ;
console.log(v);
console.log("objurl:"+objUrl);
$("#imgx").css("width","100%").css("height","100%").attr("src",objUrl);
}
//建立一個可存取到該file的url
function getObjectURL(file) {
var url = null ;
if (window.createObjectURL!=undefined) { // basic
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
firefox下面显示
"objurl:blob:null/ca7a9752-68a1-4f88-9b4f-19bfbc9ca0af"