1***@qq.com
1***@qq.com
  • 发布:2020-06-16 21:05
  • 更新:2022-02-16 12:35
  • 阅读:6343

uni-app如何对文件进行重命名?有哪位大佬知道的,指导一下

分类:uni-app
2020-06-16 21:05 负责人:无 分享
已邀请:
风云21

风云21

plus.io.resolveLocalFileSystemURL(  
                            res.tempFilePath,  
                                function(entry){ //获取文件对象  
                                    console.log("entry:"+entry.fullPath);  
                                    console.log("name:"+entry.name);  
                                    entry.getParent( //获取目录  
                                        function(de){  
                                            entry.moveTo(  
                                                de,  
                                                imagename,  
                                                function(newimage){  
                                                    console.log("new image:"+newimage.fullPath);  

                                                }  

                                            )  
                                        }  
                                    )  

                                }  
                            )  

搞定

  • 梦想凯德

    修改后的名称是正确的吗?我现在只能用拷贝来实现,拷贝后删除,移动的话会在原来名称的基础上去拼接

    2021-05-14 16:18

  • 风云21

    回复 梦想凯德: 正确的呀。。原来名字上拼接也是可以的

    2022-03-06 21:04

3***@qq.com

3***@qq.com

我觉得可以考虑把文件获取后重命名复制到app文件夹下,应该不能直接对原文件进行操作。

风云21

风云21

同问同问, 用 FileEntry 的moveTo方法?

梦想凯德

梦想凯德

为什么我修改后的名字是原来文件名称加上新的名称啊,这咋解决?

2***@qq.com

2***@qq.com

Download(item) {
var url = 'http://***/' + item.filePath//文件服务器路径 我的是这样的"/usr/upload/standard/2021/09/18/3F63772A2437477DADB67FAD66B0A49F.docx"
let dtask = plus.downloader.createDownload(url, {
filename: "file://_doc/uniapp_save/" + item.title+"."+(item.filePath.substring(item.filePath.lastIndexOf('/') + 1)).split('.')[1]
//因为想要获取下载列表所以写成这样的路径,切割拼接后就这变成这样的_doc/uniapp_save/中华人民共和国防洪法.docx 嘿嘿
利用保存路径,实现下载文件的重命名
},

                function(d, status) {  
                    //d为下载的文件对象  
                    if (status == 200) {  
                        console.log(d.filename)  
                        //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径  
                        let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);  
                        plus.runtime.openFile(d.filename); //选择软件打开文件  

                    } else {  
                        //下载失败  
                        plus.downloader.clear(); //清除下载任务  
                    }  
                })  
            dtask.start();  
        },
风云21

风云21

最好办法还是uni.downloadFile(OBJECT) 增加一个修改下载成功后的文件名的参数,希望uniapp官方可以优化下uni.downloadFile(OBJECT)

风云21

风云21

看了下 ,plus.downloader是有 filename这个参数的,但是 uni.downloaderFile是没有filename这个参数的

该问题目前已经被锁定, 无法添加新回复