uniapp 修改本地文件名称

文章介绍了在uniapp中如何解决下载文件保存后文件名为时间戳形式的问题,提供了一个使用plus.io的文件管理方法`renameFile`来修改文件名的解决方案,强调了修改文件名需包含后缀,并且可以与uni.getSavedFileList配合使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

背景

uniapp下载文件本地saveFile之后,文件名是时间戳的形式。而且uniapp官网并没有文件修改的方法

折腾了一天,终于解决了。

直接上代码

代码部分

使用plus.io的文件管理方法。(不得不吐槽一下,这个文档写的真的是云里雨雾)

	/**
	 * 修改文件名。
	 * @param {旧的文件路径} oldFilePath 
	 * @param {新的文件名} newFileName 
	 */
	function RenameFile(oldFilePath,newFileName) {
		plus.io.resolveLocalFileSystemURL(oldFilePath, entry => {
			entry.getParent(_oldFile=>{
				entry.moveTo(_oldFile,'/'+newFileName,newFilePath=>{
					console.log('newFilePath',newFilePath.fullPath)
				})
			}) 
		})
	}

Tips:这个方法改的名字要带后缀的,也可以改成Promise方法

和 uni.getSavedFileList搭配使用,可以直接调用uni.getSavedFileList返回的文件路径。

修改事例:

//oldFilePath是指源文件的绝对位置,例如uniapp/floder/20293.docx
//newFileName是指新的文件名称,因为我们修改文件一般不移动文件地址,只修改文件名。这里可以填MyDocx.docx,注意带后缀
//这样就会有新文件uniapp/floder/MyDocx.docx
RenameFile(oldFilePathn,newFileName){}
### UniApp 中使用本地数据库的方法 #### SQLite 数据库操作 在 UniApp 应用程序开发过程中,`plus.sqlite` 是一种用于执行 SQL 命令来管理本地数据的有效工具[^2]。此模块允许开发者创建、读取、更新以及删除记录。 为了初始化一个新的 SQLite 数据库连接并执行查询语句: ```javascript if (uni.plus) { var db = plus.sqlite.openDatabase({ name: 'mydb', // 数据库名称 path: '_doc/my.db' // 文件路径 }); db.executeSql('CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT)', [], function(res){ console.log("Table created"); }, function(e){ console.error("Error creating table", e.message); }); } ``` 上述代码片段展示了如何打开或新建名为 `mydb` 的 SQLite 数据库实例,并尝试建立一张叫做 `users` 的表结构。 对于更复杂的 CRUD 操作,则可以利用如下模式编写相应的函数来进行交互: - **Create**: 插入新纪录到指定表格内。 ```javascript function insertUser(name) { const sql = "INSERT INTO users (name) VALUES (?)"; db.executeSql(sql,[name], successCallback, errorCallback); } ``` - **Read**: 查询特定条件下的所有匹配项。 ```javascript function fetchUsers(callback) { const sql = "SELECT * FROM users WHERE id>?"; db.selectSql({sql,id}, callback, errorCallback); } ``` - **Update**: 修改已存在条目的属性值。 ```javascript function updateUser(userId,newName) { const sql = "UPDATE users SET name=? WHERE id=?"; db.executeSql(sql,[newName, userId], successCallback, errorCallback); } ``` - **Delete**: 移除符合条件的数据行。 ```javascript function deleteUserById(userId) { const sql = "DELETE FROM users WHERE id=?"; db.executeSql(sql,[userId], successCallback, errorCallback); } ``` 这些方法提供了基本的操作接口以便于应用程序能够灵活地处理持久化需求。 除了以上提到的功能外,在某些情况下可能还会涉及到事务控制以确保一系列相关联的动作要么全部成功完成要么完全回滚;另外还有索引优化等方面的知识可以帮助提高性能表现。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值