objective-c - 在 obj-c 应用程序中将 appengine blob 用于二进制数据

标签 objective-c http binary blob

我正在编写一个 obj-c 应用程序,并想将一个几兆大小的二进制文件上传到我的应用程序引擎服务器 (python)。我猜我需要为此使用 blob 实体,但我不确定如何去做。到目前为止,我一直在使用 http 请求和响应来发送和接收数据,但它们已被编码为字符串。有人可以建议我如何对来自 obj-c 应用程序的 blob 做同样的事情吗?我看到一些涉及 http 请求的例子,但它们似乎是针对网页的,我对它不是很熟悉。是否有任何像样的教程或演练?

我基本上不完全确定,如果我应该将它编码到 http 请求中并通过响应将其发回,如何将二进制数据从客户端获取到 http 字符串以及如何发回下载我的二进制数据时从服务器正确。我在想,也许这种方法必须与我习惯于以 param1=val¶m2=val2 样式格式将值编码到我的请求中的方法完全不同,但不确定。

我应该为此使用 blobstore 服务吗?一个重要的注意事项是,我听说 blob 有 1 兆的限制,但我有 2-3 兆的音频文件需要存储(至少 1.8 兆)。

最佳答案

我最近不得不做一些类似的事情,尽管它是通过套接字连接传输的二进制数据。到客户端使用XML,到服务器作为数据流。在来回发送二进制数据时,我最终对二进制数据进行了 base64 编码。它有点罗嗦,但特别是在客户端,它让事情更容易处理,在我的 XML 中没有特殊字符需要担心。然后我用 NSData 将它翻译成真正的二进制格式。我用了this code要进行编码和解码,请搜索“cyrus”以找到我使用的代码片段,其中有一些可以在这里使用。

在您的情况下,我会将您的 http 请求更改为发布数据调用,而不是将其全部放在 URL 中。如果您不确定有什么区别,请查看 here .

我不太熟悉 python,但你可以试试 here在这方面寻求帮助。

希望对您有所帮助。

编辑 - 看起来 blob 是可行的方法。看看this link对于字符串/blob 类型以及 this link有关使用 blob 的更多信息。

关于objective-c - 在 obj-c 应用程序中将 appengine blob 用于二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275305/

相关文章:

c 通过套接字发送图像

Python 创建一个返回 n 个 8 位二进制字符串的文件

objective-c - Monkey 修补 Objective-C 中的实例

objective-c - 从已经存在的 iphone 代码创建类图

javascript - jQuery - ("a.class")加载和window.open?

http - RESTful Web 服务 - 修改后的日期和带有子项的对象

ios - AFNetworking 和 -[__NSCFBoolean 长度] : unrecognized selector sent to instance 0x1f54358

objective-c - 将 Reactive Cocoa doNext^ 转换为 Swift

linux - 是否有可能阻止任何人从 ELF 二进制文件中剥离调试符号(例如,标签)?

algorithm - 计数到 N 的位模型成本