30 lines
753 B
TypeScript
30 lines
753 B
TypeScript
/**
|
||
* Datei-Upload – **native**. Gegenstück: `upload.web.ts`.
|
||
*
|
||
* Das native SDK will die Datei als `{name, type, size, uri}` und liest sie
|
||
* selbst vom Dateisystem; das Web-SDK will ein `File`-Objekt. Deshalb liegt der
|
||
* Upload genauso plattform-getrennt wie der Client selbst.
|
||
*/
|
||
import { ID, storage } from './appwrite';
|
||
|
||
export type Auswahl = {
|
||
uri: string;
|
||
name: string;
|
||
mimeType: string;
|
||
size: number;
|
||
};
|
||
|
||
export async function hochladen(
|
||
bucketId: string,
|
||
datei: Auswahl,
|
||
permissions: string[],
|
||
): Promise<string> {
|
||
const f = await storage.createFile({
|
||
bucketId,
|
||
fileId: ID.unique(),
|
||
file: { name: datei.name, type: datei.mimeType, size: datei.size, uri: datei.uri },
|
||
permissions,
|
||
});
|
||
return f.$id;
|
||
}
|