在项目开发中碰到需要导入文件、下载文件的功能,内容如下:

1、导入功能

uni.chooseMessageFile({
	count: 1,
	type: 'file',
	extension: ['.xlsx', '.xls'],
	success: function(res) {
		console.log("文件上传", res);
		uni.uploadFile({
			url: config.baseUrl + '/core/xxxxx', //文件上传的接口地址
			filePath: res.tempFiles[0].path,
			name: 'excel', //接口需要的参数名
			header: {
				'Authorization': uni.getStorageSync('lifeData').vuex_token
			},
			success(uploadRes) {
				uni.showToast({
					icon: 'none',
					title: '上传成功'
				});
				that.pageNum = 1
				that.getProjectList()
			},
			fail(uploadErr) {
				console.log('上传失败', uploadErr);
				// 处理上传失败后的逻辑
			}
		});
	},
	fail(err) {
		console.log('选择文件失败', err);
		// 处理选择文件失败后的逻辑
	}
});

2、下载文件

uni.request({
	url: config.baseUrl + '/core/XXXX',
	method: 'POST',
	data: params,
	header: {
		"content-type": "application/json",
		"Authorization": uni.getStorageSync('lifeData').vuex_token
	},
	responseType: "arraybuffer",
	success: res => {
		const fs = wx.getFileSystemManager()
		let data = res.data
		fs.writeFile({
			filePath: wx.env.USER_DATA_PATH + "/文件名称.xlsx",
			data: data,
			encoding: "ascii",
			success(res) {
				uni.hideLoading();
				uni.openDocument({
					showMenu: true,
					fileType: 'xlsx',
					filePath: wx.env.USER_DATA_PATH + "/文件名称.xlsx",
					success: function(res) {}
				});
			},
		})
	}
})
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐