js实现文档图片下载

方法一(亲测goolge firefox可以,其他的浏览器据说不支持,有待验证),可以更改filename名字来修改文件类型

createDownload("download.doc","download file");

		function createDownload(fileName, content){
		var blob = new Blob([content]);
		var link = document.createElement("a");
		link.innerHTML = fileName;
		link.download = fileName;
		link.href = URL.createObjectURL(blob);
		document.getElementsByTagName("body")[0].appendChild(link);
	}

方法二

插件:(本人没有测试)

https://github.com/SheetJS/js-xlsx 
https://github.com/eligrey/FileSaver.js

参考博客:https://blog.csdn.net/u010427666/article/details/79208145

方法三

后台配置可下载

window.open(url,'_blank')

测试案例代码:实现读取任意位置图片,并下载到桌面(浏览器默认下载位置)

<input type="file" value="上传" id="upLoadImg" onchange="upLoad()">
		<a onclick="clickloading()" id="btn" style="border: 1px solid black;background-color: black;color: white;">点击</a>

	var dataBox="";
	var filename="";
	function upLoad(){
		var file=document.getElementById('upLoadImg').files[0];
		filename=file.name;
		var reader=new FileReader();
		reader.readAsDataURL(file);
		reader.onload=function(){
			dataBox=dataURLtoBlob(this.result)
			
		}
		
		}

		function dataURLtoBlob(dataurl) {
			var arr = dataurl.split(',');
			console.log(arr);
			mime = (arr[0]).match(/:(.*?);/)[1];
			bstr = atob(arr[1]);
			n = bstr.length;
			u8arr = new Uint8Array(n);
			while (n--) {
				u8arr[n] = bstr.charCodeAt(n);
			}
			return new Blob([u8arr], {
				type: mime
			});
		}

			
		function clickloading(){
				createDownload(filename,dataBox);
			}
			function createDownload(filename, dataBox){
			var blob = new Blob([dataBox]);
			var btn=document.getElementById('btn');
			btn.download = filename;
			btn.href = URL.createObjectURL(blob);
		}

猜你喜欢

转载自blog.csdn.net/D_claus/article/details/84339236
今日推荐