当前位置: 首页 > 知识库问答 >
问题:

javascript - uniapp使用uni.downloadFile下载客户端传过来的文件地址,我是.docx,为什么下载之后变成了.pdf ?

赫连俊悟
2024-02-01

uniapp使用uni.downloadFile下载客户端传过来的文件地址,我是.docx,但是下载之后变成了.pdf

export const saveFile=(url,open=true)=>{    url = encodeURI(url)    console.log('ccc', url)    // return    return new Promise((resolve,reject)=>{        uni.downloadFile({            url,            //             success: function (res) {                console.log(res)                uni.saveFile({                    tempFilePath:res.tempFilePath,                    success: function (res) {                        console.log('保存成功')                        console.log(res)                        let {savedFilePath}=res                        let tipContent=open ? `文件保存成功,保存路径 ${savedFilePath},是否打开?` : `文件保存成功,保存路径 ${savedFilePath}`                        if(open){                            showConfirm(tipContent).then(confirm=>{                                uni.showLoading({title:'正在打开'})                                uni.openDocument({                                    filePath:savedFilePath,                                    fileType:'docx',                                    success: function (openRes) {                                        resolve(savedFilePath)                                    },                                    complete:function (){                                        uni.hideLoading()                                    }                                })                            })                        }else{                            showAlert(tipContent)                        }                    },                    fail:function (err){                        console.log('保存失败')                        console.log(err)                        showAlert('保存失败',err)                        reject(err)                    },                    complete:function (){                        uni.hideLoading()                    }                })            },            fail:function (err){                reject(err)            },            complete:function (){                uni.hideLoading()            }        })    })}

这里第一次打印url都还是doc文件,但是经过downloadFile success(res)里却变成了 pdf文件
image.png

共有2个答案

包德业
2024-02-01
  1. 试试让后端通过Content-Disposition这个响应头来设置文件名,如attachment; filename="xxx.docx"
  2. 如果可以是修改文件名的客户端,如微信小程序(看你截图像是),可以指定下文件名
莫选
2024-02-01

1.url后缀为docx 文件内容不一定为docx
2.如果是微信小程序 下载时指定文件名呗

 类似资料:
  • 本文向大家介绍Java下http下载文件客户端和上传文件客户端实例代码,包括了Java下http下载文件客户端和上传文件客户端实例代码的使用技巧和注意事项,需要的朋友参考一下 一、下载客户端代码 上述代码只适合下载小文件,如果下载大文件则会出现  Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 错误,所以

  • 我是stackoverflow的新手,因此这是我的第一篇文章。请原谅我英语不好。。。我花了几个小时在相关的话题上,但没有一个能满足我的需要。我正在编写一个通讯簿,我希望我的用户能够随时下载pdf联系人列表。一切似乎都很顺利,但实际上客户端从未下载pdf文件,尽管我可以在使用chrome开发者工具的请求中看到它。这是我的密码: 当检查响应时,我得到如下结果: 有没有人好心告诉我出了什么事?

  • 问题内容: 我有以下代码将页面附件带给用户: 问题是所有受支持的文件都可以正常工作(jpg,gif,png,pdf,doc等),但是.docx文件在下载时已损坏,需要通过Office进行修复才能打开。 起初我不知道问题是否出在解压缩包含.docx的zip文件,所以我没有保存输出文件,而是先保存了文件,然后成功打开了文件,所以我知道问题所在应该在回应写作中。 你知道会发生什么吗? 问题答案: 我也遇

  • 问题内容: 鉴于这些问题 ,如果仍然存在,我深表歉意。这是该问题的另一个版本。 我的angular 1.5.X客户端为我提供了标题列表,每个标题都有一个关联的文件。我的Node 4.X / Express 4.X服务器使用该列表,获取文件位置,使用npm中的express-zip创建一个zip文件,然后将该文件流式传输回响应中。然后,我希望我的客户端启动浏览器的“下载文件”选项。 这是我的客户代码

  • 在有人说“重复”之前,我只想确保大家知道,我已经回顾了这些问题: 1) 使用angular和php,不确定这里发生了什么(我不知道php):下载zip文件并从angular方法触发“保存文件”对话框 2) 什么都做不到:如何使用angular下载zip文件 3) 这个人已经可以下载了,这已经超过了我想弄明白的点:从一个按钮动作触发的角度下载外部zip文件 4) 这个问题没有答案:下载。nodejs

  • 我有一个php脚本,它将文件流式传输到客户端。 当我只需点击下载链接(例如,file.php?=id{file-id})时,下载就开始了,但所有数据都进入RAM。这样做的问题是当用户的RAM已满时,下载就会停止。我说的是AVG。100GB文件。 最快的解决办法是什么?GoogleDrive/OneDrive等如何做到?