uni-app downloadFile下载文件后缀名出现异常

uni-app downloadFile下载文件后缀名出现异常

6 回复

hello , 你提到的 安卓系统有异常 ,具体的异常是什么,报错信息是什么?

更多关于uni-app downloadFile下载文件后缀名出现异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


没有报错信息 就是文件下载后返回的文件路径有问题 正常的是应该以文件类型为后缀 ,但是这个文件返回的后缀是个随机数,导致下载的文件无法正常打开

回复 1***@qq.com: 能否提供一下一个测试示例,我运行一下看看

回复 DCloud_UNI_yuhe: 方便加个联系方式吗 因为是公司生产环境的东西 这里不能随便乱发 而且认证时长有点短

回复 1***@qq.com: 你可以在 im 上私信联系我一下

在uni-app中使用uni.downloadFile下载文件时,后缀名异常通常是由于服务器返回的文件类型与实际文件内容不匹配,或未正确处理响应头中的Content-Type导致的。以下是常见原因及解决方法:

  1. 检查服务器响应头:确保服务器返回的Content-Type正确,例如PDF文件应为application/pdf,图片应为image/jpeg等。如果服务器未正确设置,可能导致下载文件后缀名错误。

  2. 手动指定文件后缀:在uni.downloadFilesuccess回调中,通过filePath参数获取临时路径后,可以根据Content-Type或文件内容手动重命名文件,添加正确的后缀。例如:

    uni.downloadFile({
      url: 'https://example.com/file',
      success: (res) => {
        if (res.statusCode === 200) {
          const tempPath = res.tempFilePath;
          // 根据需求重命名文件,例如添加.pdf后缀
          const newPath = `${tempPath}.pdf`;
          uni.saveFile({
            tempFilePath: tempPath,
            toFile: newPath,
            success: (saveRes) => {
              console.log('文件保存成功:', saveRes.savedFilePath);
            }
          });
        }
      }
    });
回到顶部