bun 多文件上传会有问题
This commit is contained in:
@@ -9,7 +9,9 @@ import inquirer from 'inquirer';
|
||||
import { packLib, unpackLib } from './publish.ts';
|
||||
import chalk from 'chalk';
|
||||
import { installDeps } from '@/uitls/npm.ts';
|
||||
import { MD5 } from 'crypto-js';
|
||||
import cryptojs from 'crypto-js';
|
||||
import { upload } from '@/module/download/upload.ts';
|
||||
const MD5 = cryptojs.MD5;
|
||||
/**
|
||||
* 获取package.json 中的 basename, version, user, appKey
|
||||
* @returns
|
||||
@@ -209,8 +211,10 @@ const uploadFiles = async (files: string[], directory: string, opts: UploadFileO
|
||||
console.log('文件已经上传过了', file);
|
||||
continue;
|
||||
}
|
||||
const filename = path.basename(filePath);
|
||||
console.log('upload file', file, filename);
|
||||
form.append('file', fs.createReadStream(filePath), {
|
||||
filename: file,
|
||||
filename: filename,
|
||||
filepath: file,
|
||||
});
|
||||
needUpload = true;
|
||||
@@ -221,50 +225,12 @@ const uploadFiles = async (files: string[], directory: string, opts: UploadFileO
|
||||
code: 200,
|
||||
};
|
||||
}
|
||||
|
||||
return new Promise(async (resolve) => {
|
||||
const _baseURL = getBaseURL();
|
||||
const url = new URL('/api/s1/resources/upload', _baseURL);
|
||||
const searchParams = url.searchParams;
|
||||
if (opts.noCheckAppFiles) {
|
||||
searchParams.append('noCheckAppFiles', 'true');
|
||||
}
|
||||
console.log('upload url', url.hostname, url.protocol, url.port);
|
||||
const pathname = url.href.toString().replace(_baseURL.toString(), '');
|
||||
form.submit(
|
||||
{
|
||||
path: pathname,
|
||||
host: url.hostname,
|
||||
protocol: url.protocol as any,
|
||||
port: url.port,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
Authorization: 'Bearer ' + token,
|
||||
...form.getHeaders(),
|
||||
},
|
||||
},
|
||||
(err, res) => {
|
||||
if (err) {
|
||||
console.error('Error uploading file:', err.message);
|
||||
return;
|
||||
}
|
||||
// 处理服务器响应
|
||||
let body = '';
|
||||
res.on('data', (chunk) => {
|
||||
body += chunk;
|
||||
});
|
||||
|
||||
res.on('end', () => {
|
||||
try {
|
||||
const res = JSON.parse(body);
|
||||
resolve(res);
|
||||
} catch (e) {
|
||||
resolve({ code: 500, message: body });
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
const _baseURL = getBaseURL();
|
||||
const url = new URL('/api/s1/resources/upload', _baseURL);
|
||||
if (opts.noCheckAppFiles) {
|
||||
url.searchParams.append('noCheckAppFiles', 'true');
|
||||
}
|
||||
return upload({ url: url, form: form, token: token });
|
||||
};
|
||||
app.addCommand(command);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user