Просмотр исходного кода

Use optisons set filename instead of the default blob

fengqi 1 год назад
Родитель
Сommit
bffd4eb412
3 измененных файлов с 5 добавлено и 4 удалено
  1. 1 0
      src/core/bg/autosave.js
  2. 2 2
      src/core/bg/downloads.js
  3. 2 2
      src/lib/rest-form-api/index.js

+ 1 - 0
src/core/bg/autosave.js

@@ -207,6 +207,7 @@ async function saveContent(message, tab) {
 					} else if (options.saveToRestFormApi) {
 						await downloads.saveToRestFormApi(
 							message.taskId,
+							pageData.filename,
 							content,
 							options.url,
 							options.saveToRestFormApiToken,

+ 2 - 2
src/core/bg/downloads.js

@@ -605,13 +605,13 @@ function saveToClipboard(pageData) {
 	}
 }
 
-async function saveToRestFormApi(taskId, content, url, token, restApiUrl, fileFieldName, urlFieldName) {
+async function saveToRestFormApi(taskId, filename, content, url, token, restApiUrl, fileFieldName, urlFieldName) {
 	try {
 		const taskInfo = business.getTaskInfo(taskId);
 		if (!taskInfo || !taskInfo.cancelled) {
 			const client = new RestFormApi(token, restApiUrl, fileFieldName, urlFieldName);
 			business.setCancelCallback(taskId, () => client.abort());
-			return await client.upload(content, url);
+			return await client.upload(filename, content, url);
 		}
 	} catch (error) {
 		throw new Error(error.message + " (RestFormApi)");

+ 2 - 2
src/lib/rest-form-api/index.js

@@ -43,12 +43,12 @@ class RestFormApi {
 		this.urlFieldName = urlFieldName;
 	}
 
-	async upload(content, url) {
+	async upload(filename, content, url) {
 		this.controller = new AbortController();
 		const blob = content instanceof Blob ? content : new Blob([content], { type: "text/html" });
 		let formData = new FormData();
 		if (this.fileFieldName) {
-			formData.append(this.fileFieldName, blob);
+			formData.append(this.fileFieldName, blob, filename);
 		}
 		if (this.urlFieldName) {
 			formData.append(this.urlFieldName, url);