每个人,我试图从我的ios设备上传图像到在Node.JS中编写的网络服务器。如何使用ios应用程序将图像上传到Node.JS服务器
我在网络服务器中使用强大的工具,当我通过浏览器上传文件时效果很好,但是我无法弄清楚如何从IOS应用程序上传文件。看来IOS应用程序发送的请求不能被强大的分析..
这post(我跟这篇文章写IOS应用程序中的POST请求)显示IOS应用程序客户端代码我不知道服务器是什么侧面看起来像..
每个人,我试图从我的ios设备上传图像到在Node.JS中编写的网络服务器。如何使用ios应用程序将图像上传到Node.JS服务器
我在网络服务器中使用强大的工具,当我通过浏览器上传文件时效果很好,但是我无法弄清楚如何从IOS应用程序上传文件。看来IOS应用程序发送的请求不能被强大的分析..
这post(我跟这篇文章写IOS应用程序中的POST请求)显示IOS应用程序客户端代码我不知道服务器是什么侧面看起来像..
我不认为你已经提供了足够的信息来获得足够的答案。但是,如果您可以使用浏览器发布,但不适用于iOS,对我来说这似乎是POST请求中的标题问题,或者iOS不发布POST请求。您将不得不调试这些点以查看问题的可能性。
你有什么。从iOS发布时在节点中发生错误?这将揭示大量信息。
那么,我想出了如何做到这一点...总之,我没有以适当的格式构建请求主体..我搞砸了'边界'。在我更改我的IOS应用程序代码后,我的服务器端代码实际上运行良好,this post提供了编写IOS客户端代码的正确方法。 我会在这里发布我的服务器代码,以防有人可能需要它。
app.post('/upload', function (req, res) {
var form = new formidable.IncomingForm();
//console.log(form);
//console.log(req._readableState);
//console.log(req.body);
form.parse(req, function(err, fields, files) {
res.end('success');
});
form.on('end', function(fields, files) {
var temp_path = this.openedFiles[0].path;
//console.log(temp_path);
var file_name = this.openedFiles[0].name;
var new_location = path.dirname(require.main.filename) + "/uploads/fullsize/";
fs.copy(temp_path, new_location + file_name, function(err) {
if (err) {
console.error(err);
} else {
console.log("success!")
}
});
});
});
感谢您的回答。我找到了问题,这是因为请求主体,我没有正确添加边界。 – PennTao