Node.js + restify无法上传文件。

3
1个回答

5
看起来 restify.bodyParser() 的作用与 express.bodyParser() 相同,它会为您处理上传(并在此过程中消耗请求中传递的正文数据,因此在调用处理程序后没有剩余数据可读取-因此也没有事件)。

上传的数据将被写入临时文件,req.files.selfie.path 在您的情况下。
至于您打算进行的操作(上传进度),我认为除非您实现了 bodyParser() 的功能,否则不可能。但我对 Restify 内部工作并不是非常熟悉,无法 100% 确定这一点。
如果您正在使用浏览器作为客户端,则可以在那里实现上传进度。

如果我使用bodyparser,那么我必须读取req.files.selfie.path并将其写入我想要的路径,比如newfile.pipe(req.files.selfie.path)??为了能够恢复文件上传,这将如何工作? - maumercado
1
如果可能的话,您甚至可以使用fs.rename()将临时文件重命名为最终名称。关于恢复上传:这与express.bodyParser()不兼容。我也不知道有哪些模块会实现这样的功能:((编辑:请查看此文章 - 他们使用socket.io来实现可恢复上传)。 - robertklep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接