uniapp 实现上传文件的功能

上传单个文件

<script setup>
	const handleUploadClick = () => {
		console.log("上传文件")
		uni.chooseImage({
			success: (chooseImageRes) => {
				const tempFilePaths = chooseImageRes.tempFilePaths;
				console.log("用户选择的图片:", tempFilePaths)
				uni.uploadFile({
					url: 'http://192.168.234.138:8889/upload', 
					filePath: tempFilePaths[0],
					name: 'file',
					success: (uploadFileRes) => {
						console.log("上传文件成功", uploadFileRes.data);
					}
				});
			}
		});
	}
</script>
<template>
	<view>
		<view @click="handleUploadClick" class="button">
			上传文件
		</view>
	</view>
</template>

<style scoped>
	.button {
		display: inline-block;
		background-color: aqua;
		padding: 10rpx 20rpx;
		border-radius: 5%;
	}
</style>

上传多个文件

上传多个文件的功能有个细节需要注意,那就是files不能直接使用读取到的文件列表,官方文档给出如下解释。
在这里插入图片描述

按照官方文档的要求,最终成功的代码如下:

<script setup>
	const handleUploadClick = () => {
		console.log("上传文件")
		uni.chooseImage({
			success: (chooseImageRes) => {
				const tempFilePaths = chooseImageRes.tempFilePaths;
				console.log("用户选择的图片:", tempFilePaths)
				let files = []
				for (let filePath of tempFilePaths){
					console.log("filePath", filePath)
					files.push({
						name: "file",
						uri: filePath,
					})
				}
				uni.uploadFile({
					url: 'http://192.168.234.138:8889/uploads', 
					files: files,
					success: (uploadFileRes) => {
						console.log("上传文件成功", uploadFileRes.data);
					}
				});
			}
		});
	}
</script>
<template>
	<view>
		<view @click="handleUploadClick" class="button">
			上传文件
		</view>
	</view>
</template>

<style scoped>
	.button {
		display: inline-block;
		background-color: aqua;
		padding: 10rpx 20rpx;
		border-radius: 5%;
	}
</style>

相关推荐

  1. uniapp实现文件和图片选择功能实现

    2024-07-16 10:46:03       29 阅读
  2. (图片)文件功能实现

    2024-07-16 10:46:03       50 阅读
  3. springmvc实现文件功能

    2024-07-16 10:46:03       26 阅读
  4. uniapp APP 文件

    2024-07-16 10:46:03       33 阅读
  5. 图片功能实现

    2024-07-16 10:46:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 10:46:03       51 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 10:46:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 10:46:03       44 阅读
  4. Python语言-面向对象

    2024-07-16 10:46:03       55 阅读

热门阅读

  1. 将 Docker Engine 节点从 dockershim 迁移到 cri-dockerd

    2024-07-16 10:46:03       21 阅读
  2. 【WPF】图片剪裁-ImageCropping

    2024-07-16 10:46:03       19 阅读
  3. springboot集成MQTT实现消息接收

    2024-07-16 10:46:03       18 阅读
  4. js中! 、!!、?.、??、??=的用法及使用场景

    2024-07-16 10:46:03       17 阅读
  5. AP9185内置 MOS 管升压型恒流驱动芯片

    2024-07-16 10:46:03       21 阅读
  6. matlab实现绘制矢量图

    2024-07-16 10:46:03       25 阅读
  7. 实车部署 TARE 入门教程

    2024-07-16 10:46:03       24 阅读