refactor: extract media upload runtime helper
This commit is contained in:
@@ -183,6 +183,26 @@ async function uploadLocalFolderAsset(file, plan, context) {
|
||||
};
|
||||
}
|
||||
|
||||
async function uploadMediaAsset(file, plan, context) {
|
||||
var form = new FormData();
|
||||
form.append('file', file);
|
||||
form.append('workspaceId', plan && plan.workspaceId || '');
|
||||
form.append('documentId', plan && plan.targetDocumentId || '');
|
||||
if (plan && plan.targetMindmapId) form.append('mindmapId', plan.targetMindmapId);
|
||||
var response = await fetchWithTimeout('/api/media/upload', {
|
||||
method: 'POST',
|
||||
credentials: 'include',
|
||||
body: form
|
||||
}, Number(context && context.timeoutMs) || 15000, '上传');
|
||||
var payload = await response.json().catch(function() { return null; });
|
||||
if (!response.ok || !payload || !payload.asset) {
|
||||
throw new Error(payload && payload.error ? payload.error : '上传失败');
|
||||
}
|
||||
return {
|
||||
asset: payload.asset
|
||||
};
|
||||
}
|
||||
|
||||
async function insertUploadedAssetIntoEditor(asset, targetRoot, deps) {
|
||||
deps = deps || {};
|
||||
var editorRoot = targetRoot instanceof HTMLElement
|
||||
@@ -408,6 +428,7 @@ window.__mnoteLocalUploadRuntime = {
|
||||
openEditorUploadFilePicker: openEditorUploadFilePicker,
|
||||
fetchWithTimeout: fetchWithTimeout,
|
||||
uploadLocalFolderAsset: uploadLocalFolderAsset,
|
||||
uploadMediaAsset: uploadMediaAsset,
|
||||
insertUploadedAssetIntoEditor: insertUploadedAssetIntoEditor,
|
||||
localAssetOpenUrl: localAssetOpenUrl,
|
||||
uploadedAssetType: uploadedAssetType,
|
||||
|
||||
Reference in New Issue
Block a user