手机上传图片一般有两种,拍照上传和从相册中选取。uni-app提供了两个关于拍照上传的API。
uni.chooseImage(OBJECT):uni.chooseImage(OBJECT) | uni-app官网
uni.uploadFile(OBJECT):uni.uploadFile(OBJECT) | uni-app官网
uni.chooseImage({
// original 原图, compressed 压缩图,默认二者都有
sizeType: ["original", "compressed"],
// camera 使用相机,album 从相册中选图,默认二者都有
sourceType: ["camera", "album"],
// success是必须要写的
success: function (res) {
// 返回的参数tempFiles是图片的本地文件列表,每一项都是一个文件对象
// tempFilePaths是图片的本地文件路径列表
// 文件里有图片的基本信息,例如图片名称,图片大小等,可以对这些数据进行处理
const tempFiles = res.tempFiles;
const tempFilePaths = res.tempFilePaths;
alert(tempFiles[0].name);
const params = {
// 要上传的地址
url: "/api/fileUpload",
// 要上传的文件列表
files: tempFiles,
// http请求中其他额外的数据,有就写上
formData: {
type: "image",
},
};
uni.uploadFile(params).then((res) => {
// 返回的数据
console.log(res);
});
},
});