houdini/app/javascript/common/activestorage.ts
2021-02-25 13:12:40 -06:00

15 lines
No EOL
416 B
TypeScript

// License: LGPL-3.0-or-later
import { DirectUpload, Blob } from '@rails/activestorage';
export function uploadFile(controllerUrl: string, file: File): Promise<Blob> {
const duPromise = new Promise<Blob>((resolve, reject) => {
const du = new DirectUpload(file, controllerUrl);
du.create((error, result) => {
if (error) { reject(error); }
if (result) { resolve(result); }
});
});
return duPromise;
}