iOS:HTTP响应并从NSData获取文件内容

时间:2011-09-06 20:37:28

标签: ios http

我是新手iOS开发人员,我正在尝试为现有代码添加功能。 我想从我的机器(PC / Mac)上传一个pdf文件到我的iPad / iPhone应用程序,我设置所有套接字的东西,目前我可以做相反的事情(从我的iPhone / iPad发送pdf文件到我的机器在我的机器的网络浏览器中记录到我的iPad的IP地址并在那里打开/下载文件(这是第一个任务,现在已经完成),现在我希望能够通过浏览器中的相同UI将pdf文件上传到我的iPad,我有选择/提交按钮(我在浏览器中添加了提交/选择文件按钮,我登录到我的iPad的IP地址,我使用此代码添加它们:

[thestring appendFormat:@"<form method=\"post\" enctype=\"multipart/form-data\" />"];
[thestring appendFormat:@"<input name=\"file\" type=\"file\" />"];
[thestring appendFormat:@"<input type=\"submit\" />"];
[thestring appendFormat:@"</form>"];

现在我在我的代码中,当我通过点击“提交”按钮将所选文件下载到iPad获得响应时,我可以访问“CFHTTPMessageRef”并从那里我可以获取NSData但不确定如何解析数据以获取pdf文件的内容以及来自NSData的文件名,...等其他信息?数据的形式为:

Content-Type: multipart/form-data; boundary=---------------------------3154721346826
Content-Length: 226
-----------------------------3154721346826
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain
This is my test text file data uploaded.
-----------------------------3154721346826--

我的问题是如何在NSData中找到pdf内容(在上面的示例中:这是我上传的测试文本文件数据)?当pdf是一个巨大的文件时怎么样?

谢谢, 卡姆兰

1 个答案:

答案 0 :(得分:-1)

NSData是发送的文件二进制数据。您需要从元数据中获取文件名等。

至于将其保存到磁盘,您可以使用NSData的 writeToFile:atomically:方法。

要获得保存的正确路径,您可以在许多其他人中阅读此帖子: How can I get a writable path on the iPhone?

干杯, 奥德。

相关问题