2014-04-28 77 views
0

每个人,我试图从我的ios设备上传图像到在Node.JS中编写的网络服务器。如何使用ios应用程序将图像上传到Node.JS服务器

我在网络服务器中使用强大的工具,当我通过浏览器上传文件时效果很好,但是我无法弄清楚如何从IOS应用程序上传文件。看来IOS应用程序发送的请求不能被强大的分析..

post(我跟这篇文章写IOS应用程序中的POST请求)显示IOS应用程序客户端代码我不知道服务器是什么侧面看起来像..

回答

0

我不认为你已经提供了足够的信息来获得足够的答案。但是,如果您可以使用浏览器发布,但不适用于iOS,对我来说这似乎是POST请求中的标题问题,或者iOS不发布POST请求。您将不得不调试这些点以查看问题的可能性。

你有什么。从iOS发布时在节点中发生错误?这将揭示大量信息。

+0

感谢您的回答。我找到了问题,这是因为请求主体,我没有正确添加边界。 – PennTao

0

那么,我想出了如何做到这一点...总之,我没有以适当的格式构建请求主体..我搞砸了'边界'。在我更改我的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!") 
      } 
     }); 
    }); 
}); 
相关问题