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



我是一个iOS开发新手,我正试图为现有代码添加一个功能。我想上传一个pdf文件从我的机器(电脑/Mac)我的iPad/iPhone应用程序,设置所有套接字的东西,现在我可以做相反的事(从我的iPhone/iPad发送pdf文件到我的机器通过记录我的iPad的ip地址在我的机器上的web浏览器,打开/下载文件(这是第一个任务,现在做了),现在我希望能够将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是一个巨大的文件呢?

谢谢,Kamran

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

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

要找到合适的保存路径,你可以阅读这篇文章和其他许多文章:如何在iPhone上获得可写路径?

欢呼,欧迪。

最新更新