window.
URL.
createObjectURL()在IE10, IE11中报“Error: 拒绝访问的”错误.
const pdfData =
new Blob([content], { type: ‘text/csv’ });
if (
window.navigator &&
window.navigator.msSaveOrOpen
Blob) {
window.navigator.msSaveOrOpen
Blob(pdfData , file_name);
百度后发现这个方法:
URL.
createObjectURL在新版的浏览器中已经不再支持了。因此可以通过try catch的方式来处理,或者直接不用。
try {
this.src
Object = stream;
} catch (error) {
this.src =
window.
URL.
createObjectURL(stream)
let url = window.URL.createObjectURL(new Blob([res.data]))
// 生成一个a标签
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
// 生成时间戳
let timestamp = new Date().getTime
在后台正常处理后生成Excel,但是发生异常或者错误时,前端无法提示
解决方法:
查看下面代码中的返回的res和
blob打印信息,由于获取返回信息里的code比较麻烦,对比正常情况和错误的情况,发现:如果后台正常返回,则
blob中text内容不是json,如果异常则可以解析成json,于是,从此处入手,如果解析异常说明后端返回成功!
upload1 (
url, formData) {
return service({
url,
method: 'POST
export function exportExcel(download() {
this.resultDialog.picture.map((res, i) => {
this.downloadFile(`证据 ${i + 1}.png`, res) // 此处 res 为 base64 数据图片
downloadFile(fileName, content) {
URL.createObjectURL() 方法会创建一个 DOMString,表示参数中的对象的URL。可以用于在浏览器上预览本地图片或者视频。
createObjectURL() 返回一段带 hash 的 url ,会一直存储在内存中,直到 document 触发了unload事件或者执行 revokeObjectURL() 来释放。
<input type="file" accept="video/*" />
<video width="400" height="500" con
window.URL.createObjectURL(new Blob([]))是一个用于在浏览器端生成blob:开头链接的方法。这个链接可以被用来下载或访问blob数据。该方法在大多数现代浏览器上都能正常运行。
具体来说,这个方法会创建一个Blob对象,并将其转换为URL。这个URL可以被用来创建一个指向Blob数据的链接。在这个示例中,传入的参数是一个空的Blob对象,所以生成的链接并没有具体的数据。
在非IE浏览器中,可以通过创建一个隐藏的<a>标签,并设置其href属性为生成的URL,将其下载或访问链接。而在IE浏览器中,需要使用window.navigator.msSaveOrOpenBlob方法来保存或打开链接。
需要注意的是,在IE10、IE11和Microsoft Edge中生成的blob:链接不能直接添加到<a>节点上,并且在浏览器地址栏中访问时会出现“Error: 拒绝访问。”的错误。因此,针对这些浏览器的情况,需要使用不同的方法来处理生成的链接。
Tomcat部署报错:org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[/**]
Tomcat部署报错:org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[/**]
神仙会飞吗: