修改上传方法

This commit is contained in:
hayu 2025-11-10 22:50:05 +08:00
parent 72e3667524
commit 5fdd6dd675
1 changed files with 160 additions and 81 deletions

View File

@ -176,6 +176,7 @@ import { onLoad } from '@dcloudio/uni-app'
import { getUseType,insertApp } from '../../services/back.js'; import { getUseType,insertApp } from '../../services/back.js';
import eselect from '@/components/tree-select/eselect.vue' import eselect from '@/components/tree-select/eselect.vue'
import PopupConfirm from '@/components/PopupConfirm' import PopupConfirm from '@/components/PopupConfirm'
import {decryptWithSM4} from "../../utils/sm";
const taskInfo = ref({}) const taskInfo = ref({})
const maTypeSelectList = ref([]) const maTypeSelectList = ref([])
@ -322,75 +323,108 @@ const submitNum = async () => {
}) })
} }
// //
// - 使
const uploadImg = (item) => { const uploadImg = (item) => {
// Cordova
if (window.cordova) { uni.showActionSheet({
// Cordova - 使 itemList: ['拍照', '从相册选择'],
navigator.camera.getPicture( success: (res) => {
(file) => { if (res.tapIndex === 0) {
onCameraSuccess(file, item) getCameraFj(item)
}, } else if (res.tapIndex === 1) {
(message) => { //
console.log('选择图片失败', message) getPhotoFj(item)
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'],
sourceType: ['album', 'camera'],
success: res => {
let imgFiles = res.tempFilePaths
// uni.uploadFile base64
uploadFileTraditional(imgFiles[0], item)
} }
}) },
} fail: (err) => {
console.error('操作菜单选择失败:', err)
},
})
}
const getCameraFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
} }
// const onCameraErrorFj = (message) => {
const onCameraSuccess = (file, item) => { console.log(message)
uploadSignUrl(file, item)
} }
const onCameraSuccessFj = (file, item) => {
uploadSignUrlFj(file, item)
}
// // - 使
// 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'],
// sourceType: ['album', 'camera'],
// success: res => {
// let imgFiles = res.tempFilePaths
// // uni.uploadFile base64
// uploadFileTraditional(imgFiles[0], item)
// }
// })
// }
// }
// //
// const onCameraSuccess = (file, item) => {
// uploadSignUrl(file, item)
// }
// 使 base64 // 使 base64
const uploadSignUrl = (base64Data, item) => { const uploadSignUrlFj = (file, item) => {
// const base64Data = file
const fileName = `${generateRandomString(10)}_${Date.now()}.png`
uni.request({ uni.request({
// url: baseURL + "/file/uploadBase64", // app url: '/file/uploadBase64',
url: "/file/uploadBase64", // h5
method: 'POST', method: 'POST',
data: { data: {
base64File: base64Data, base64File:base64Data,
fileName: fileName, fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png' fileType: 'image/png'
}, },
success: (uploadRes) => { success: (uploadRes) => {
// console.log("xxxxxxxxxx",uploadRes)
let responseData = uploadRes.data if(!uploadRes.data.code){
if (typeof responseData === 'string') { uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
responseData = JSON.parse(responseData) }else{
uploadRes =JSON.parse(uploadRes.data)
} }
if (uploadRes.code && uploadRes.code == 200) {
console.log('上传成功', responseData.code)
console.log('上传成功', responseData.data)
if (responseData.code && responseData.code == 200) {
let obj = { let obj = {
name: responseData.data.name, name: uploadRes.data.name,
url: responseData.data.url url: uploadRes.data.url,
} }
if (!item.bmFileInfos) item.bmFileInfos = [] if (!item.bmFileInfos) item.bmFileInfos = []
item.bmFileInfos.push(obj) item.bmFileInfos.push(obj)
uni.showToast({ title: '上传成功', icon: 'none' }) uni.showToast({ title: '上传成功', icon: 'none' })
@ -405,34 +439,79 @@ const uploadSignUrl = (base64Data, item) => {
}) })
} }
//
const uploadFileTraditional = (filePath, item) => {
uni.uploadFile({
// url: baseURL+"/file/upload", // app // //
url: "/file/upload", // h5 // const fileName = `${generateRandomString(10)}_${Date.now()}.png`
filePath: filePath, //
name: 'file', // uni.request({
success: (res) => { // // url: baseURL + "/file/uploadBase64", // app
res = JSON.parse(res.data) // url: "/file/uploadBase64", // h5
console.log('上传成功', res.code) // method: 'POST',
console.log('上传成功', res.data) // data: {
if(res.code && res.code == 200){ // base64File: base64Data,
let obj = { // fileName: fileName,
name: res.data.name, // fileType: 'image/png'
url: res.data.url // },
} // success: (uploadRes) => {
if (!item.bmFileInfos) item.bmFileInfos = [] // //
item.bmFileInfos.push(obj) // let responseData = uploadRes.data
uni.showToast({ title: '上传成功', icon: 'none' }) // if (typeof responseData === 'string') {
} else { // responseData = JSON.parse(responseData)
uni.showToast({ title: '上传失败', icon: 'none' }) // }
} //
}, // console.log('', responseData.code)
fail: (err) => { // console.log('', responseData.data)
console.error('上传失败', err) //
} // 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) => { const generateRandomString = (length) => {
let result = ''; let result = '';