fix(upload): 修复文件上传功能中的路径替换和临时文件支持

- 将单个斜杠替换改为全局正则替换以正确处理所有路径分隔符
- 移除未使用的 crypto 模块引入
- 添加对临时文件上传的支持,使用 fs 模块读取临时文件
- 动态设置 Content-Type 头部,优先使用文件的 mimetype 属性
- 重构多处文件上传逻辑以支持流式读取大文件
- 优化分片上传时的文件大小获取方式
This commit is contained in:
LaoShui
2026-02-18 19:09:15 +08:00
parent 872bae1b43
commit a09f126ab2
4 changed files with 49 additions and 25 deletions
+2 -3
View File
@@ -1,5 +1,5 @@
const { default: axios } = require('axios')
const createOption = require('../util/option.js')
const crypto = require('crypto')
module.exports = async (query, request) => {
const { md5, fileSize, filename, bitrate = 999000 } = query
@@ -55,7 +55,6 @@ module.exports = async (query, request) => {
})
}
const { default: axios } = require('axios')
let lbs
try {
lbs = (
@@ -97,7 +96,7 @@ module.exports = async (query, request) => {
uploadToken: tokenRes.body.result.token,
objectKey: tokenRes.body.result.objectKey,
resourceId: tokenRes.body.result.resourceId,
uploadUrl: `${lbs.upload[0]}/${bucket}/${tokenRes.body.result.objectKey.replace('/', '%2F')}?offset=0&complete=true&version=1.0`,
uploadUrl: `${lbs.upload[0]}/${bucket}/${tokenRes.body.result.objectKey.replace(/\//g, '%2F')}?offset=0&complete=true&version=1.0`,
bucket: bucket,
md5: md5,
fileSize: fileSize,