fix: fix upload query
This commit is contained in:
parent
86e6a8686e
commit
efa7fbe62e
@ -29,8 +29,9 @@
|
||||
"access": "public"
|
||||
},
|
||||
"exports": {
|
||||
".": "./dist/query-upload.js",
|
||||
"./query-upload": "./dist/query-upload.js",
|
||||
"./query-upload-node": "./dist/query-upload-node.js"
|
||||
".": "./dist/query-upload-browser.js",
|
||||
"./query-upload.js": "./dist/query-upload.js",
|
||||
"./query-upload-browser.js": "./dist/query-upload-browser.js",
|
||||
"./query-upload-node.js": "./dist/query-upload-node.js"
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ interface UploadNProgress {
|
||||
done: () => void;
|
||||
set: (progress: number) => void;
|
||||
}
|
||||
type UploadProgressData = {
|
||||
export type UploadProgressData = {
|
||||
progress: number;
|
||||
progressFixed: number;
|
||||
filename?: string;
|
||||
|
51
src/query-upload-browser.ts
Normal file
51
src/query-upload-browser.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import { UploadProgress, UploadProgressData } from './core/upload-progress.ts';
|
||||
import { uploadFileChunked } from './core/upload-chunk.ts';
|
||||
import { toFile, uploadFiles, randomId } from './query-upload.ts';
|
||||
|
||||
export { toFile, randomId };
|
||||
export { uploadFiles, uploadFileChunked, UploadProgress };
|
||||
|
||||
type UploadFileProps = {
|
||||
onStart?: () => void;
|
||||
onDone?: () => void;
|
||||
onProgress?: (progress: number, data: UploadProgressData) => void;
|
||||
onSuccess?: (res: any) => void;
|
||||
onError?: (err: any) => void;
|
||||
token?: string;
|
||||
};
|
||||
export type ConvertOpts = {
|
||||
appKey?: string;
|
||||
version?: string;
|
||||
username?: string;
|
||||
directory?: string;
|
||||
isPublic?: boolean;
|
||||
filename?: string;
|
||||
/**
|
||||
* 是否不检查应用文件, 默认 true,默认不检测
|
||||
*/
|
||||
noCheckAppFiles?: boolean;
|
||||
};
|
||||
|
||||
export const uploadChunk = async (file: File, opts: ConvertOpts, props?: UploadFileProps) => {
|
||||
const uploadProgress = new UploadProgress({
|
||||
onStart: function () {
|
||||
props?.onStart?.();
|
||||
},
|
||||
onDone: () => {
|
||||
props?.onDone?.();
|
||||
},
|
||||
onProgress: (progress, data) => {
|
||||
props?.onProgress?.(progress, data);
|
||||
},
|
||||
});
|
||||
const result = await uploadFileChunked(file, opts, {
|
||||
uploadProgress,
|
||||
token: props?.token,
|
||||
createEventSource: (url: string, searchParams: URLSearchParams) => {
|
||||
return new EventSource(url + '?' + searchParams.toString());
|
||||
},
|
||||
FormDataFn: FormData,
|
||||
});
|
||||
|
||||
return result;
|
||||
};
|
@ -1,8 +1,7 @@
|
||||
import { defineConfig } from 'tsup';
|
||||
|
||||
export default defineConfig({
|
||||
entry: ['src/query-upload.ts'],
|
||||
|
||||
entry: ['src/query-upload.ts', 'src/query-upload-browser.ts'],
|
||||
splitting: false,
|
||||
sourcemap: false,
|
||||
clean: true,
|
||||
|
Loading…
x
Reference in New Issue
Block a user