修改上传方法

This commit is contained in:
hayu 2025-11-07 09:20:40 +08:00
parent 4f8aae5fb2
commit 144c237e7a
1 changed files with 160 additions and 39 deletions

View File

@ -322,48 +322,169 @@ const submitNum = async () => {
})
}
//
// - 使
const uploadImg = (item) => {
// Cordova
if (window.cordova) {
// Cordova - 使
navigator.camera.getPicture(
(file) => {
onCameraSuccess(file, item)
},
(message) => {
console.log('选择图片失败', message)
uni.showToast({ title: '选择图片失败', icon: 'none' })
},
{
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
}
)
} else {
// Cordova - uni.chooseImage
uni.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], //original compressed
sourceType: ['album', 'camera',], //album camera 使
success: res => {
console.log(res)
let imgFiles = res.tempFilePaths //
// imgBeseUrl.value = imgFiles[0]
// console.log('', imgFiles)
// console.log('', baseURL+"/file/upload")
uni.uploadFile({
// url: baseURL+"/file/upload",//app
url: "/file/upload",//h5
filePath: imgFiles[0],
name: 'file',
success: (res) => {
res = JSON.parse(res.data)
console.log('上传成功', res.code);
console.log('上传成功', res.data);
if(res.code&&res.code==200){
let obj = {
name:res.data.name,
url:res.data.url
}
if (!item.bmFileInfos) item.bmFileInfos = []
item.bmFileInfos.push(obj)
// item.bmFileInfos.value = [obj]
uni.showToast({ title: '上传成功', icon: 'none' })
}else{
// item.bmFileInfos.value = []
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err);
}
});
// this.$refs.vForm.clearValidate()
}
})
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: res => {
let imgFiles = res.tempFilePaths
// uni.uploadFile base64
uploadFileTraditional(imgFiles[0], item)
}
})
}
}
//
const onCameraSuccess = (file, item) => {
uploadSignUrl(file, item)
}
// 使 base64
const uploadSignUrl = (base64Data, item) => {
//
const fileName = `${generateRandomString(10)}_${Date.now()}.png`
uni.request({
// url: baseURL + "/file/uploadBase64", // app
url: "/file/uploadBase64", // h5
method: 'POST',
data: {
base64File: base64Data,
fileName: fileName,
fileType: 'image/png'
},
success: (uploadRes) => {
//
let responseData = uploadRes.data
if (typeof responseData === 'string') {
responseData = JSON.parse(responseData)
}
console.log('上传成功', responseData.code)
console.log('上传成功', responseData.data)
if (responseData.code && responseData.code == 200) {
let obj = {
name: responseData.data.name,
url: responseData.data.url
}
if (!item.bmFileInfos) item.bmFileInfos = []
item.bmFileInfos.push(obj)
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
//
const uploadFileTraditional = (filePath, item) => {
uni.uploadFile({
// url: baseURL+"/file/upload", // app
url: "/file/upload", // h5
filePath: filePath,
name: 'file',
success: (res) => {
res = JSON.parse(res.data)
console.log('上传成功', res.code)
console.log('上传成功', res.data)
if(res.code && res.code == 200){
let obj = {
name: res.data.name,
url: res.data.url
}
if (!item.bmFileInfos) item.bmFileInfos = []
item.bmFileInfos.push(obj)
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
}
})
}
const generateRandomString = (length) => {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
// const uploadImg = (item) => {
// uni.chooseImage({
// count: 1, //
// sizeType: ['original', 'compressed'], //original compressed
// sourceType: ['album', 'camera',], //album camera 使
// success: res => {
// console.log(res)
// let imgFiles = res.tempFilePaths //
// // imgBeseUrl.value = imgFiles[0]
// // console.log('', imgFiles)
// // console.log('', baseURL+"/file/upload")
// uni.uploadFile({
// // url: baseURL+"/file/upload",//app
// url: "/file/upload",//h5
// filePath: imgFiles[0],
// name: 'file',
// success: (res) => {
// res = JSON.parse(res.data)
// console.log('', res.code);
// console.log('', res.data);
// if(res.code&&res.code==200){
// let obj = {
// name:res.data.name,
// url:res.data.url
// }
// if (!item.bmFileInfos) item.bmFileInfos = []
// item.bmFileInfos.push(obj)
// // item.bmFileInfos.value = [obj]
// uni.showToast({ title: '', icon: 'none' })
// }else{
// // item.bmFileInfos.value = []
// uni.showToast({ title: '', icon: 'none' })
// }
// },
// fail: (err) => {
// console.error('', err);
// }
// });
// // this.$refs.vForm.clearValidate()
// }
// })
// }
const viewImgs = (item) => {
if (!item.bmFileInfos || item.bmFileInfos.length === 0) {
uni.showToast({ title: '暂无附件', icon: 'none' })