mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
64 lines
1.3 KiB
JavaScript
64 lines
1.3 KiB
JavaScript
/* global CloudCmd, filepicker */
|
|
|
|
'use strict';
|
|
|
|
const exec = require('execon');
|
|
const currify = require('currify');
|
|
const load = require('load.js');
|
|
|
|
const {ajax} = require('../dom/load');
|
|
|
|
const Files = require('../dom/files');
|
|
const Images = require('../dom/images.mjs');
|
|
const {log} = CloudCmd;
|
|
|
|
const upload = currify(_upload);
|
|
|
|
const Name = 'Cloud';
|
|
|
|
CloudCmd[Name] = module.exports;
|
|
|
|
module.exports.init = async () => {
|
|
const [modules] = await loadFiles();
|
|
const {key} = modules.data.FilePicker;
|
|
|
|
filepicker.setKey(key);
|
|
Images.hide();
|
|
};
|
|
|
|
module.exports.uploadFile = (filename, data) => {
|
|
const mimetype = '';
|
|
|
|
filepicker.store(data, {
|
|
mimetype,
|
|
filename,
|
|
}, (fpFile) => {
|
|
filepicker.exportFile(fpFile, log, log);
|
|
});
|
|
};
|
|
|
|
module.exports.saveFile = (callback) => {
|
|
filepicker.pick(upload(callback));
|
|
};
|
|
|
|
function _upload(callback, file) {
|
|
const {url, filename} = file;
|
|
|
|
const responseType = 'arraybuffer';
|
|
const success = exec.with(callback, filename);
|
|
|
|
ajax({
|
|
url,
|
|
responseType,
|
|
success,
|
|
});
|
|
}
|
|
|
|
function loadFiles() {
|
|
const js = '//api.filepicker.io/v2/filepicker.js';
|
|
|
|
return Promise.all([
|
|
Files.get('modules'),
|
|
load.js(js),
|
|
]);
|
|
}
|