MCPcopy
hub / github.com/codedogQBY/ReadAny / uploadFileToRemote

Function uploadFileToRemote

packages/core/src/sync/sync-files.ts:87–111  ·  view source on GitHub ↗
(
  backend: ISyncBackend,
  remotePath: string,
  localPath: string,
  onProgress?: (loaded: number, total: number) => void,
)

Source from the content-addressed store, hash-verified

85}
86
87async function uploadFileToRemote(
88 backend: ISyncBackend,
89 remotePath: string,
90 localPath: string,
91 onProgress?: (loaded: number, total: number) => void,
92): Promise<number | null> {
93 if (backend.putFile) {
94 try {
95 await backend.putFile(remotePath, localPath, onProgress);
96 return null;
97 } catch (e) {
98 if (!isDirectFileTransferUnsupported(e)) throw e;
99 console.warn(
100 `[Sync] Direct upload unsupported for ${remotePath}; falling back to buffered upload`,
101 );
102 }
103 }
104
105 const adapter = getSyncAdapter();
106 const data = await adapter.readFileBytes(localPath);
107 onProgress?.(0, data.length);
108 await backend.put(remotePath, data);
109 onProgress?.(data.length, data.length);
110 return data.length;
111}
112
113async function downloadRemoteFileToPath(
114 backend: ISyncBackend,

Callers 2

buildUploadFileTaskFunction · 0.85
buildUploadCoverTaskFunction · 0.85

Calls 5

getSyncAdapterFunction · 0.90
putFileMethod · 0.65
readFileBytesMethod · 0.65
putMethod · 0.65

Tested by

no test coverage detected