erfan-flmngr-server-fixed
Version:
> Node.js Backend for Flmngr file manager
43 lines (41 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processFileUploaderRequest = void 0;
const UploaderServlet_1 = require("./servlet/UploaderServlet");
function processFileUploaderRequest(request, response, config, _fmRepository, _rootDirPath) {
this._rootDirPath = _rootDirPath;
this._fmRepository = _fmRepository;
config.config.dir = config.dir;
let servlet = new UploaderServlet_1.UploaderServlet(config.config, _fmRepository, this._rootDirPath);
if (request.method === "OPTIONS") {
servlet.doOptions(request, response);
response.sendStatus(200);
return;
}
// let busboy = new Busboy({ "headers": request.headers });
let busboy = request.busboy;
busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
if (fieldname === "file") {
request["postFile"] = {
"filename": filename,
"data": null
};
file.on('data', function (data) {
let oldData = request["postFile"]["data"];
let newData = oldData == null ? data : Buffer.concat([oldData, data]);
request["postFile"]["data"] = newData;
});
}
});
busboy.on('field', (fieldname, val, fieldnameTruncated, valTruncated, encoding, mimetype) => {
if (fieldname === "data")
request.postData = val;
});
busboy.on('finish', () => {
servlet.doPost(request, response);
});
request.pipe(busboy);
// console.log(busboy);
}
exports.processFileUploaderRequest = processFileUploaderRequest;
//# sourceMappingURL=file-uploader-server.js.map