添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

window.URL.createObjectURL(new Blob([chunk])) 下载zip包解压报错问题

// 时间转换
function parseTime(time, cFormat) {
  if (arguments.length === 0) {
    return null
  const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
  let date
  if (typeof time === 'undefined' || time === null || time === 'null') {
    return ''
  } else if (typeof time === 'object') {
    date = time
  } else {
    if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
      time = parseInt(time)
    if ((typeof time === 'number') && (time.toString().length === 10)) {
      time = time * 1000
    date = new Date(time)
  const formatObj = {
    y: date.getFullYear(),
    m: date.getMonth() + 1,
    d: date.getDate(),
    h: date.getHours(),
    i: date.getMinutes(),
    s: date.getSeconds(),
    a: date.getDay()
  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
    let value = formatObj[key]
    // Note: getDay() returns 0 on Sunday
    if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
    if (result.length > 0 && value < 10) {
      value = '0' + value
    return value || 0
  return time_str
// 下载逻辑
export function downloadFile(obj, name, suffix) {
  const url = window.URL.createObjectURL(new Blob([obj]))
  const link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  const fileName = name + '-' + parseTime(new Date(), '{y}{m}{d}{h}{i}{s}') + '.' + suffix
  link.setAttribute('download', fileName)
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
 

这个压缩文件未知或者数据已经损坏

在这里插入图片描述
可实现下载,但下载成功后不能成功解压

处理方法 添加 responseType: 'blob'

// responseType 表示服务器响应的数据类型,可以是 ‘arraybuffer’, ‘blob’, ‘document’, ‘json’, ‘text’, ‘stream’

http库为 Axios

* 多文件zip下载 export function downloadFiles(data) { return request({ url: 'api/v1/files/downloads', method: 'post', responseType: 'blob', // 添加响应类型 window.URL.createObjectURL(new Blob([chunk])) 下载zip包解压报错问题// 时间转换function parseTime(time, cFormat) { if (arguments.length === 0) { return null } const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' let date if (typeof time === 'undefined' ||
看大家需求 提供两种资源方式:(JDK1.8压缩64位Windows版本)上面JDK1.8压缩直接下载解压一下就可以用),想自己下载的下方官网网址自行查找 官网下载地址:https://www.oracle.com/java/technologies/downloads/ JDK1.8又称JDK8.0,是目前相对比较稳定的版本。JDK 1.8和17版本都是Java平台的重要里程碑,它们的发展历史和地位各具特点。JDK 1.8引入了Lambda表达式和Stream API等功能,提升了开发效率和编程体验;而JDK 17则在语言特性、性能和安全性方面进行了更多的改进和优化。无论是选择稳定成熟的JDK 1.8,还是追求最新功能和性能的JDK 17,都能够满足不同场景下的开发需求。
window.URL.createObjectURL()在IE10, IE11中报“Error: 拒绝访问的”错误. const pdfData = new Blob([content], { type: ‘text/csv’ }); if (window.navigator && window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveOrOpenBlob(pdfData , file_name); 百度后发现这个方法:URL.createObjectURL在新版的浏览器中已经不再支持了。因此可以通过try catch的方式来处理,或者直接不用。 try { this.srcObject = 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(url, params = {}) { return new Promise((resolve, reject) => { axios({ method: "get", url: url, // 请求地址 params, responseType
转自:https://blog.csdn.net/Miss_Liang/article/details/85781396 window.URL.createObjectURL(mediaStream) 出现 typeError 错误的原因是 浏览器正在取消对 mediaStream 类型的支持 解决方案: video.srcObject = mediaStream 代码示例...
1. 报错信息 Uncaught (in promise) TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
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[/**] 神仙会飞吗: 添加这个标签报错,加载不到这个标签