@fett/synology-api 0.0.3-beta.4 → 0.0.3-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core.js +3 -4
- package/lib/modules/FileStation/Upload.d.ts +21 -1
- package/lib/modules/FileStation/Upload.js +37 -21
- package/lib/modules/FileStation/Upload.rn.d.ts +21 -1
- package/lib/modules/FileStation/Upload.rn.js +25 -6
- package/package.json +1 -1
- package/lib/modules/FileStation/Upload.base.d.ts +0 -21
- package/lib/modules/FileStation/Upload.base.js +0 -25
package/lib/core.js
CHANGED
|
@@ -106,13 +106,12 @@ export class SynologyApi extends BaseModuleSynologyApi {
|
|
|
106
106
|
// https agent for node
|
|
107
107
|
if (isNode) {
|
|
108
108
|
if (this.agent?.https) {
|
|
109
|
-
const
|
|
110
|
-
requestOptions.httpsAgent = new
|
|
109
|
+
const { HttpsProxyAgent } = require("https-proxy-agent");
|
|
110
|
+
requestOptions.httpsAgent = new HttpsProxyAgent(`https://${this.agent.https.host}:${this.agent.https.port}`);
|
|
111
111
|
}
|
|
112
112
|
// http agent
|
|
113
113
|
if (this.agent?.http) {
|
|
114
|
-
const
|
|
115
|
-
const HttpProxyAgent = hpa.HttpProxyAgent;
|
|
114
|
+
const { HttpProxyAgent } = require("http-proxy-agent");
|
|
116
115
|
requestOptions.httpAgent = new HttpProxyAgent(`http://${this.agent.http.host}:${this.agent.http.port}`);
|
|
117
116
|
}
|
|
118
117
|
}
|
|
@@ -1 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import { AxiosProgressEvent } from "axios";
|
|
2
|
+
import { SynologyApiResponse } from "../../types/index.js";
|
|
3
|
+
declare enum OverwriteEnum {
|
|
4
|
+
OVERWRITE = "overwrite",
|
|
5
|
+
SKIP = "skip"
|
|
6
|
+
}
|
|
7
|
+
export type UploadFileParams = {
|
|
8
|
+
path: string;
|
|
9
|
+
file: File | Blob | string | any;
|
|
10
|
+
overwrite?: OverwriteEnum;
|
|
11
|
+
create_parents?: boolean;
|
|
12
|
+
onUploadProgress?: (progress: AxiosProgressEvent) => void;
|
|
13
|
+
};
|
|
14
|
+
export type UploadFileResponse = SynologyApiResponse<{
|
|
15
|
+
blSkip: boolean;
|
|
16
|
+
file: string;
|
|
17
|
+
pid: number;
|
|
18
|
+
progress: number;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function uploadFile(params: UploadFileParams): Promise<any>;
|
|
21
|
+
export {};
|
|
@@ -1,28 +1,44 @@
|
|
|
1
1
|
import { isNode } from "../../utils/index.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { createFormData, getFormDataHeaders } from "../../utils/index.js";
|
|
3
|
+
import { FileStationApi } from "../../types/index.js";
|
|
4
|
+
var OverwriteEnum;
|
|
5
|
+
(function (OverwriteEnum) {
|
|
6
|
+
OverwriteEnum["OVERWRITE"] = "overwrite";
|
|
7
|
+
OverwriteEnum["SKIP"] = "skip";
|
|
8
|
+
})(OverwriteEnum || (OverwriteEnum = {}));
|
|
9
|
+
export async function uploadFile(params) {
|
|
4
10
|
if (!this.isConnecting) {
|
|
5
11
|
await this.connect();
|
|
6
12
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const api = this.getApiInfoByName(FileStationApi.Upload);
|
|
14
|
+
const { path, file, overwrite = OverwriteEnum.OVERWRITE, create_parents = true } = params;
|
|
15
|
+
let formData = createFormData();
|
|
16
|
+
formData.append("method", "upload");
|
|
17
|
+
formData.append("version", String(api?.maxVersion));
|
|
18
|
+
formData.append("api", FileStationApi.Upload);
|
|
19
|
+
formData.append("path", path);
|
|
20
|
+
formData.append("overwrite", overwrite);
|
|
21
|
+
formData.append("create_parents", String(create_parents));
|
|
22
|
+
if (isNode) {
|
|
23
|
+
let fileContent;
|
|
24
|
+
let fileName = "";
|
|
25
|
+
if (typeof file === "string") {
|
|
26
|
+
fileName = require("path").basename(file);
|
|
27
|
+
fileContent = await require("path").readFile(file);
|
|
21
28
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
29
|
+
formData.append("file", fileContent, {
|
|
30
|
+
filename: fileName,
|
|
31
|
+
contentType: "application/octet-stream", // 可根据文件类型修改
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// for browser environment
|
|
36
|
+
formData.append("file", file);
|
|
37
|
+
}
|
|
38
|
+
const res = this.run(FileStationApi.Upload, {
|
|
39
|
+
method: "post",
|
|
40
|
+
data: formData,
|
|
41
|
+
headers: getFormDataHeaders(formData),
|
|
27
42
|
});
|
|
43
|
+
return res;
|
|
28
44
|
}
|
|
@@ -1 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import { AxiosProgressEvent } from "axios";
|
|
2
|
+
import { SynologyApiResponse } from "../../types/index.js";
|
|
3
|
+
declare enum OverwriteEnum {
|
|
4
|
+
OVERWRITE = "overwrite",
|
|
5
|
+
SKIP = "skip"
|
|
6
|
+
}
|
|
7
|
+
export type UploadFileParams = {
|
|
8
|
+
path: string;
|
|
9
|
+
file: File | Blob | string | any;
|
|
10
|
+
overwrite?: OverwriteEnum;
|
|
11
|
+
create_parents?: boolean;
|
|
12
|
+
onUploadProgress?: (progress: AxiosProgressEvent) => void;
|
|
13
|
+
};
|
|
14
|
+
export type UploadFileResponse = SynologyApiResponse<{
|
|
15
|
+
blSkip: boolean;
|
|
16
|
+
file: string;
|
|
17
|
+
pid: number;
|
|
18
|
+
progress: number;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function uploadFile(params: UploadFileParams): Promise<any>;
|
|
21
|
+
export {};
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { createFormData } from "../../utils/index.js";
|
|
2
|
+
import { FileStationApi } from "../../types/index.js";
|
|
3
|
+
var OverwriteEnum;
|
|
4
|
+
(function (OverwriteEnum) {
|
|
5
|
+
OverwriteEnum["OVERWRITE"] = "overwrite";
|
|
6
|
+
OverwriteEnum["SKIP"] = "skip";
|
|
7
|
+
})(OverwriteEnum || (OverwriteEnum = {}));
|
|
8
|
+
export async function uploadFile(params) {
|
|
3
9
|
if (!this.isConnecting) {
|
|
4
10
|
await this.connect();
|
|
5
11
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
const api = this.getApiInfoByName(FileStationApi.Upload);
|
|
13
|
+
const { path, file, overwrite = OverwriteEnum.OVERWRITE, create_parents = true } = params;
|
|
14
|
+
let formData = createFormData();
|
|
15
|
+
formData.append("method", "upload");
|
|
16
|
+
formData.append("version", String(api?.maxVersion));
|
|
17
|
+
formData.append("api", FileStationApi.Upload);
|
|
18
|
+
formData.append("path", path);
|
|
19
|
+
formData.append("overwrite", overwrite);
|
|
20
|
+
formData.append("create_parents", String(create_parents));
|
|
21
|
+
formData.append("file", file);
|
|
22
|
+
const res = this.run(FileStationApi.Upload, {
|
|
23
|
+
method: "post",
|
|
24
|
+
data: formData,
|
|
25
|
+
headers: {
|
|
26
|
+
"Content-Type": "multipart/form-data",
|
|
27
|
+
},
|
|
10
28
|
});
|
|
29
|
+
return res;
|
|
11
30
|
}
|
package/package.json
CHANGED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AxiosProgressEvent } from "axios";
|
|
2
|
-
import { SynologyApiResponse } from "../../types/index.js";
|
|
3
|
-
declare enum OverwriteEnum {
|
|
4
|
-
OVERWRITE = "overwrite",
|
|
5
|
-
SKIP = "skip"
|
|
6
|
-
}
|
|
7
|
-
export type UploadFileParams = {
|
|
8
|
-
path: string;
|
|
9
|
-
file: File | Blob | string | any;
|
|
10
|
-
overwrite?: OverwriteEnum;
|
|
11
|
-
create_parents?: boolean;
|
|
12
|
-
onUploadProgress?: (progress: AxiosProgressEvent) => void;
|
|
13
|
-
};
|
|
14
|
-
export type UploadFileResponse = SynologyApiResponse<{
|
|
15
|
-
blSkip: boolean;
|
|
16
|
-
file: string;
|
|
17
|
-
pid: number;
|
|
18
|
-
progress: number;
|
|
19
|
-
}>;
|
|
20
|
-
export declare function uploadFileBase(params: UploadFileParams, parseFileFn: (file: File | Blob | string, formdata: any) => any): Promise<UploadFileResponse>;
|
|
21
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { createFormData, getFormDataHeaders } from "../../utils/index.js";
|
|
2
|
-
import { FileStationApi } from "../../types/index.js";
|
|
3
|
-
var OverwriteEnum;
|
|
4
|
-
(function (OverwriteEnum) {
|
|
5
|
-
OverwriteEnum["OVERWRITE"] = "overwrite";
|
|
6
|
-
OverwriteEnum["SKIP"] = "skip";
|
|
7
|
-
})(OverwriteEnum || (OverwriteEnum = {}));
|
|
8
|
-
export async function uploadFileBase(params, parseFileFn) {
|
|
9
|
-
const { path, file, overwrite = OverwriteEnum.OVERWRITE, create_parents = true } = params;
|
|
10
|
-
const api = this.getApiInfoByName(FileStationApi.Upload);
|
|
11
|
-
let formData = createFormData();
|
|
12
|
-
formData.append("method", "upload");
|
|
13
|
-
formData.append("version", String(api?.maxVersion));
|
|
14
|
-
formData.append("api", FileStationApi.Upload);
|
|
15
|
-
formData.append("path", path);
|
|
16
|
-
formData.append("overwrite", overwrite);
|
|
17
|
-
formData.append("create_parents", String(create_parents));
|
|
18
|
-
formData = parseFileFn(file, formData);
|
|
19
|
-
const res = this.run(FileStationApi.Upload, {
|
|
20
|
-
method: "post",
|
|
21
|
-
data: formData,
|
|
22
|
-
headers: getFormDataHeaders(formData),
|
|
23
|
-
});
|
|
24
|
-
return res;
|
|
25
|
-
}
|