MCPcopy Index your code
hub / github.com/mailru/FileAPI / fileApi

Function fileApi

node/file-api.js:9–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7}
8
9function fileApi() {
10 return function (req, res, next) {
11 var queryString = '';
12
13 req.files = {};
14 req.images = {};
15
16 req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
17 var buffersArray = [];
18
19 file.on('data', function (data) {
20 buffersArray.push(data);
21 });
22
23 file.on('end', function () {
24 var bufferResult = Buffer.concat(buffersArray);
25 var fileObj = {
26 name: filename,
27 type: mimetype,
28 mime: mimetype,
29 size: bufferResult.length,
30 dataURL: convertToBase64(bufferResult, mimetype)
31 };
32
33 req.files[fieldname] = fileObj;
34
35 if (mimetype.indexOf('image/') === 0) {
36 fs.writeFileSync(filename, bufferResult);
37
38 var size = imageSize(filename);
39
40 fileObj.width = size.width;
41 fileObj.height = size.height;
42
43 req.images[fieldname] = fileObj;
44
45 fs.unlinkSync(filename);
46 }
47 });
48 });
49
50 req.busboy.on('field', function (key, value) {
51 queryString += encodeURIComponent(key) + '=' + encodeURIComponent(value) + '&';
52 });
53
54 req.busboy.on('finish', function () {
55 req.body = qs.parse(queryString);
56
57 next();
58 });
59 };
60}
61
62module.exports = fileApi;

Callers 1

server.jsFile · 0.85

Calls 2

convertToBase64Function · 0.85
nextFunction · 0.85

Tested by

no test coverage detected