1) Я пытаюсь декодировать GET-запрос примерно так: abb197313b83ad9f16a946c8be35a0f8 , но я получаю эту ошибку.
TypeError: Первый аргумент должен быть строкой, Buffer, ArrayBuffer, Array или массивоподобным объектом.
let decoder;
const parseMetadataString = (metadata_string) => {
const kv_pair_list = metadata_string.split(',');
return kv_pair_list.reduce((metadata, kv_pair) => {
const [key, base64_value] = kv_pair.split(' ');
metadata[key] = {
encoded: base64_value,
decoded: Buffer.from(base64_value, 'base64').toString('ascii'),
};
return decoder = metadata;
}, {});
}
app.get('/upload/files/:fileid', (req, res) => {
const { fileid } = req.params;
parseMetadataString(fileid);
res.sendFile(__dirname + /files/ + decoder);
});
2) Если я делаю это таким образом, я получаю эту ошибку:
TypeError: Невозможно прочитать свойство 'name' из неопределенного
Но он делает res.sendFile с правильным именем.
let decoder;
const parseMetadataString = (metadata_string) => {
const kv_pair_list = metadata_string.split(',');
return kv_pair_list.reduce((metadata, kv_pair) => {
const [key, base64_value] = kv_pair.split(' ');
metadata[key] = {
encoded: base64_value,
decoded: Buffer.from(base64_value, 'base64').toString('ascii'),
};
return decoder = metadata;
}, {});
}
app.get('/upload/files/:fileid', (req, res) => {
const { fileid } = req.params;
res.sendFile(__dirname + /files/ + decoder.name.decoded);
});
server.on(EVENTS.EVENT_UPLOAD_COMPLETE, (event) => {
parseMetadataString(event.file.upload_metadata);
});