Работа над загрузкой файлов на сервер

This commit is contained in:
Book Pauk
2019-02-04 20:37:32 +07:00
parent edc2819965
commit fb852b5dcb
2 changed files with 15 additions and 8 deletions

View File

@@ -32,7 +32,7 @@ class ReaderController extends BaseController {
let error = '';
try {
const url = await this.readerWorker.saveFile(file);
return ({url});
return {url};
} catch (e) {
error = e.message;
}

View File

@@ -27,6 +27,7 @@ class ReaderWorker {
let errMes = '';
let decompDir = '';
let downloadedFilename = '';
let isUploaded = false;
let convertFilename = '';
try {
wState.set({state: 'download', step: 1, totalSteps: 3, url});
@@ -35,13 +36,19 @@ class ReaderWorker {
const tempFilename2 = utils.randomHexString(30);
const decompDirname = utils.randomHexString(30);
//download
const downdata = await this.down.load(url, (progress) => {
wState.set({progress});
});
if (url.indexOf('file://') != 0) {//download
const downdata = await this.down.load(url, (progress) => {
wState.set({progress});
});
downloadedFilename = `${this.config.tempDownloadDir}/${tempFilename}`;
await fs.writeFile(downloadedFilename, downdata);
downloadedFilename = `${this.config.tempDownloadDir}/${tempFilename}`;
await fs.writeFile(downloadedFilename, downdata);
} else {//uploaded file
downloadedFilename = `${this.config.uploadDir}/${url.substr(7)}`;
if (!await fs.pathExists(downloadedFilename))
throw new Error('Файл не найден на сервере (возможно был удален как устаревший). Пожалуйста, загрузите файл с диска на сервер заново.');
isUploaded = true;
}
wState.set({progress: 100});
//decompress
@@ -73,7 +80,7 @@ class ReaderWorker {
//clean
if (decompDir)
await fs.remove(decompDir);
if (downloadedFilename)
if (downloadedFilename && !isUploaded)
await fs.remove(downloadedFilename);
if (convertFilename)
await fs.remove(convertFilename);