reactor:【INFRA】文件上传 api,增加 directory 参数,去除 path 参数,并支持按照日期分目录、文件名不再使用 sha256 而是时间戳
parent
db60915de6
commit
4d308078fa
|
|
@ -1,11 +1,9 @@
|
|||
import { baseUrl, apiPath, tenantId } from '@/sheep/config';
|
||||
import request from '@/sheep/request';
|
||||
import request, { getAccessToken } from '@/sheep/request';
|
||||
|
||||
const FileApi = {
|
||||
// 上传文件
|
||||
uploadFile: (file) => {
|
||||
// TODO 芋艿:访问令牌的接入;
|
||||
const token = uni.getStorageSync('token');
|
||||
uploadFile: (file, directory) => {
|
||||
uni.showLoading({
|
||||
title: '上传中',
|
||||
});
|
||||
|
|
@ -17,7 +15,10 @@ const FileApi = {
|
|||
header: {
|
||||
Accept: '*/*',
|
||||
'tenant-id': tenantId,
|
||||
// Authorization: 'Bearer test247',
|
||||
Authorization: 'Bearer ' + getAccessToken(),
|
||||
},
|
||||
formData: {
|
||||
directory,
|
||||
},
|
||||
success: (uploadFileRes) => {
|
||||
let result = JSON.parse(uploadFileRes.data);
|
||||
|
|
@ -42,12 +43,13 @@ const FileApi = {
|
|||
},
|
||||
|
||||
// 获取文件预签名地址
|
||||
getFilePresignedUrl: (path) => {
|
||||
getFilePresignedUrl: (name, directory) => {
|
||||
return request({
|
||||
url: '/infra/file/presigned-url',
|
||||
method: 'GET',
|
||||
params: {
|
||||
path,
|
||||
name,
|
||||
directory,
|
||||
},
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ function uploadCloudFiles(files, max = 5, onUploadProgress) {
|
|||
});
|
||||
}
|
||||
|
||||
function uploadFilesFromPath(path) {
|
||||
function uploadFilesFromPath(path, directory) {
|
||||
// 目的:用于微信小程序,选择图片时,只有 path
|
||||
return uploadFiles(
|
||||
Promise.resolve({
|
||||
|
|
@ -187,11 +187,13 @@ function uploadFilesFromPath(path) {
|
|||
},
|
||||
],
|
||||
}),
|
||||
{},
|
||||
{
|
||||
directory,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
async function uploadFiles(choosePromise, { onChooseFile, onUploadProgress }) {
|
||||
async function uploadFiles(choosePromise, { onChooseFile, onUploadProgress, directory }) {
|
||||
// 获取选择的文件
|
||||
const res = await choosePromise;
|
||||
// 处理文件选择回调
|
||||
|
|
@ -212,7 +214,7 @@ async function uploadFiles(choosePromise, { onChooseFile, onUploadProgress }) {
|
|||
const uploadPromises = files.map(async (file) => {
|
||||
try {
|
||||
// 1.1 获取文件预签名地址
|
||||
const { data: presignedInfo } = await FileApi.getFilePresignedUrl(file.name);
|
||||
const { data: presignedInfo } = await FileApi.getFilePresignedUrl(file.name, directory);
|
||||
// 1.2 获取二进制文件对象
|
||||
const fileBuffer = await readFile(file);
|
||||
|
||||
|
|
@ -260,6 +262,7 @@ async function uploadFiles(choosePromise, { onChooseFile, onUploadProgress }) {
|
|||
function chooseAndUploadFile(
|
||||
opts = {
|
||||
type: 'all',
|
||||
directory: undefined,
|
||||
},
|
||||
) {
|
||||
if (opts.type === 'image') {
|
||||
|
|
@ -279,7 +282,7 @@ function createFile(vo, file) {
|
|||
const fileVo = {
|
||||
configId: vo.configId,
|
||||
url: vo.url,
|
||||
path: file.name,
|
||||
path: vo.path,
|
||||
name: file.name,
|
||||
type: file.fileType,
|
||||
size: file.size,
|
||||
|
|
|
|||
Loading…
Reference in New Issue