javascript - express中的chunk拼接
大家讲道理
大家讲道理 2017-04-11 12:14:42
0
1
298

在express中接收网页POST过来的图片data时,chunk拼接后得到的数据头尾总是用一段说明信息(大小314字节)。
请问如何取出真正的图片data内容?
这段信息有什么用?

↓得到的数据

------WebKitFormBoundary1h2fSYcmIqL12kVj Content-Disposition: form-data; name="uid" rc-upload-1488190554987-16 ------WebKitFormBoundary1h2fSYcmIqL12kVj Content-Disposition: form-data; name="file"; filename="2328bd2a317f33315c60.jpeg" Content-Type: image/jpeg 《这里是需要的图片数据》 ------WebKitFormBoundary1h2fSYcmIqL12kVj--

↓chunk拼接代码

var chunks = []; var size = 0; req.on('data',function(chunk){ chunks.push(chunk); size += chunk.length; }); req.on('end',async()=>{ var data = null; switch(chunks.length) { case 0: data = new Buffer(0); break; case 1: data = chunks[0]; break; default: data = new Buffer(size); for (var i = 0, pos = 0, l = chunks.length; i < l; i++) { var chunk = chunks[i]; chunk.copy(data, pos); pos += chunk.length; } break; } });
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all (1)
左手右手慢动作

这种Boundary存在浏览器的差异问题,而且不同content-type接收和处理的方式也不一样;
所以建议使用formidable或者其他模块;

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!