iPhone / iPod Touch 文件传输解决方案 – 开源框架:Cocoa Web Resource Project
2014-01-03 14:14
260 查看
到目前为止,也就是iPhone SDK 2.2 ,苹果仍然没有为开发者提供一个文件传输的解决方案。如果一个应用需要为用户提供往iPhone上传文件的功能,大抵会采用下面几种方法之一:
通过一个链接从网上下载。
提供一个客户端,通过自己的协议上传。
支持FTP传输协议。
在iPhone上启动一个http服务,通过浏览器上传。
比上一个更进一步,在http上支持WebDAV,通过改协议上传。
上面这些方法各有利弊。前两种方式虽然开发比较简单,但用户操作不方便,采用的比较少了。使用FTP在一些系统上还是需要额外的客户端软件,也不算方便。WebDAV的方式现在比较流行,Air Sharing和Discover都采用了这种方式。
在做iPhone版iChm时,也需要提供文件上传的功能。我选择了第四个方案,即提供一个http service,通过浏览器上传。这个方案虽然不能象WebDAV那样在一些系统上直接mount到文件系统中,但对于几乎所有带浏览器的系统,它都不需要再安装额外的客户端,实现起来也比WebDAV简单很多。
在http server的选择上,可以porting现有的成熟产品,但是对于这样的应用,apache或者lighttpd等方案都过于庞杂了,实际上只是需要一个很简单的服务。最后找到cocoahttpserver,是由Deusty
Designs开源的一个项目,支持异步socket,IPv4和IPv6,HTTP Authentication和TLS加密,小巧玲珑。除了只支持GET方法这一点以外,其他可以说该有的都有,该没有的都没有了。
我对cocoahttpserver做了扩展,首先实现了Multipart POST的支持。在增加文件传输功能的设计上,我将文件当作一个资源(resources),采用了REST的方式:
这样的设计,无论从接口的角度,还是从实现的角度,都比较清晰明了。
在iChm 1.0发布后做了些修正,iChm 1.0.1后相对稳定了。现在我将文件传输这部分代码open source出来:
Cocoa Web Resource Project
主要功能如下:
支持通过浏览器向iPhone/iPod Touch上传文件,支持文件下载和删除。
内存优化,支持大文件上传。
可定制的web界面。
web界面支持IE, Safari, Firefox等主流浏览器。
RESTful API。
希望可以对iPhone开发者有所帮助。
通过一个链接从网上下载。
提供一个客户端,通过自己的协议上传。
支持FTP传输协议。
在iPhone上启动一个http服务,通过浏览器上传。
比上一个更进一步,在http上支持WebDAV,通过改协议上传。
上面这些方法各有利弊。前两种方式虽然开发比较简单,但用户操作不方便,采用的比较少了。使用FTP在一些系统上还是需要额外的客户端软件,也不算方便。WebDAV的方式现在比较流行,Air Sharing和Discover都采用了这种方式。
在做iPhone版iChm时,也需要提供文件上传的功能。我选择了第四个方案,即提供一个http service,通过浏览器上传。这个方案虽然不能象WebDAV那样在一些系统上直接mount到文件系统中,但对于几乎所有带浏览器的系统,它都不需要再安装额外的客户端,实现起来也比WebDAV简单很多。
在http server的选择上,可以porting现有的成熟产品,但是对于这样的应用,apache或者lighttpd等方案都过于庞杂了,实际上只是需要一个很简单的服务。最后找到cocoahttpserver,是由Deusty
Designs开源的一个项目,支持异步socket,IPv4和IPv6,HTTP Authentication和TLS加密,小巧玲珑。除了只支持GET方法这一点以外,其他可以说该有的都有,该没有的都没有了。
我对cocoahttpserver做了扩展,首先实现了Multipart POST的支持。在增加文件传输功能的设计上,我将文件当作一个资源(resources),采用了REST的方式:
方法 | 功能 |
---|---|
GET | 文件列表,文件下载 |
POST | 上传新文件 |
DELETE | 文件删除 |
在iChm 1.0发布后做了些修正,iChm 1.0.1后相对稳定了。现在我将文件传输这部分代码open source出来:
Cocoa Web Resource Project
主要功能如下:
支持通过浏览器向iPhone/iPod Touch上传文件,支持文件下载和删除。
内存优化,支持大文件上传。
可定制的web界面。
web界面支持IE, Safari, Firefox等主流浏览器。
RESTful API。
希望可以对iPhone开发者有所帮助。
相关文章推荐
- iPhone / iPod Touch 文件传输解决方案 – 开源框架:Cocoa Web Resource Project
- iPhone / iPod Touch 文件传输解决方案 – 开源框架:Cocoa Web Resource Project
- iPhone / iPod Touch 文件传输解决方案 – Cocoa Web Resource Project
- iPhone / iPod Touch 文件传输解决方案 – Cocoa Web Resource Project
- 在Cocoa里用objective-c判断设备类型:iPhone, iPod Touch, iPad
- 在Cocoa里用objective-c判断设备类型:iPhone, iPod Touch, iPad
- 移动Web触摸与运动解决方案AlloyTouch开源啦
- 在Cocoa里用objective-c判断设备类型:iPhone, iPod Touch, iPad
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- iOS平台iPhone iPad和iPod Touch开源应用游戏App源代码下载
- 开源框架:CocoaPods
- 在使用Android-Universal-Image-Loader-master这个开源的图片缓存框架的时候,在下拉刷新时,出现闪烁的解决方案
- 在 Web 项目中应用 Apache Shiro 开源权限框架
- 发布开源框架到CocoaPods
- 开源web终端ssh解决方案
- Web前端开源框架 资源库,全,丰富,牛!
- 开源框架:SDWebImage
- 检测iPhone/iPod touch/iPad设备类型的代码
- iphone、ipod Touch、ipad触屏时的js事件
- java开源框架集成常见错误之spring2.5中没有org.springframework.web.struts.DelegatingActionProxy ,使得Action不能注入到spring中