fs_upload支持redirect字段,添加stream2buffer函数

This commit is contained in:
undefined committed 2020-09-02 23:12:39 +08:00
1 parent 86689e8d4c
commit 327fec1fea
5 files changed
+32 -6

No files matched your search

+13 -3
View File
@@ -4,18 +4,28 @@ import os from 'os';
import fs from 'fs-extra';
import AdmZip from 'adm-zip';
import xml2js from 'xml2js';
import { ObjectID } from 'mongodb';
import { LocalProblemConfig } from 'hydrooj';
import {
Route, Handler, param, Types,
} from 'hydrooj/dist/service/server';
import { streamToBuffer } from 'hydrooj/dist/utils';
import * as file from 'hydrooj/dist/model/file';
import { PERM } from 'hydrooj/dist/model/builtin';
class FpsProblemImportHandler extends Handler {
async get() {
this.response.template = 'problem_import_fps.html';
@param('ufid', Types.ObjectID, true)
async get(domainId: string, ufid?: ObjectID) {
if (ufid) {
const stream = await file.get(ufid);
const buf = await streamToBuffer(stream);
// @ts-ignore
await this.post({ domainId, input: buf.toString() });
await file.del(ufid);
} else this.response.template = 'problem_import_fps.html';
}
@param('input', Types.String)
@param('input', Types.String, true)
async post(domainId: string, input: string) {
const result = await xml2js.parseStringPromise(input);
const problem = global.Hydro.model.problem;
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hydrooj/fps-importer",
"version": "1.0.4",
"version": "1.0.5",
"description": "Import FPS problems",
"main": "package.json",
"repository": "https://github.com/hydro-dev/Hydro.git",
@@ -10,6 +10,7 @@
"adm-zip": "^0.4.16",
"fs-extra": "^9.0.1",
"hydrooj": "^2.12.22",
"mongodb": "^3.6.1",
"xml2js": "^0.4.23"
},
"devDependencies": {