如何设计XML Restful服务接口进行文件上传?

时间:2011-01-28 14:22:47

标签: web-services model-view-controller rest architecture

我们在MVC(C#)中实现了一些XML restful服务。它们的整体外观与http://www.zendesk.com/api非常相似。

现在我们需要接受一些上传的文件。

这些服务旨在供PHP / Python / ruby​​和其他流行的Web开发语言使用。

我们该怎么做?多部分/格式数据?或者只是阅读帖子的身体?

我担心上述语言和流行的Web开发框架的易用性。不幸的是,我没有人在消费者方面询问。

我也关注内存消耗。据我所知,multipart / form-data将由MVC / ASP.NET转换为HttpPostedFileClass,它将自己缓存在Web服务器磁盘上。但普通的POST不会,所以会消耗IIS内存吗?

也许还有其他值得注意的选择?你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

这听起来像是一个非常标准的内容管理应用程序,REST非常擅长。

最简单的方法是将PUT转换为名称为单个文件的资源,比如说http://www.example.com/myfileserver/folder1/folder2/myfile然后你获取相同的资源来下载文件,PUT来更新文件,然后删除以取消它

在REST中,HTTP操作动词至关重要:POST用于在知道资源名称并且服务器分配资源名称时向服务器添加新资源。在您的情况下,您使用PUT,它会创建或更新事先知道名称的资源。