你的位置:首页 > 网页设计

[网页设计]atitit.javascriptjs上传文件的本地预览


atitit.javascript js 上传文件的本地预览

 

 

1. .URL.createObjectURL 1

1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以避免内存泄漏1

1.2. aticode2

1.3. code--2

 

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"