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

发布于 2024-10-15 02:04:34 字数 480 浏览 0 评论 0原文

我们有一些用 MVC (C#) 实现的 XML Restful 服务。它们的整体外观和感觉与 http://www.zendesk.com/api 非常相似。

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

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

我们应该怎样做才是正确的呢?多部分/表单数据?或者只是阅读帖子正文?

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

我还担心内存消耗。据我了解,multipart/form-data 将由 MVC / ASP.NET 转换为 HttpPostedFileClass,后者将自身缓存在 Web 服务器磁盘上。但是普通的POST不会,所以它会消耗IIS内存?

也许还有其他值得注意的选择需要考虑?你怎么认为?

We have some XML restful services implemented in MVC (C#). Their overall look and feel is very similar to http://www.zendesk.com/api.

Now we need to accept some files uploaded.

The services are intended for consumption from PHP / Python / ruby and other popular web development languages.

How should we do it right? multipart/form-data? or just read post body?

I'm concerned about the ease of use from mentioned languages and popular web development frameworks. Unfortunately, i don't have anyone to ask on consumer side.

I'm also concerned about memory consumption. As i understand, multipart/form-data will be converted by MVC / ASP.NET to HttpPostedFileClass which caches itself on the web server disk. But plain POST won't, so it will consume IIS memory?

Maybe there are other notable options to consider? What do you think?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡墨 2024-10-22 02:04:34

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

最直接的方法是 PUT 到名称为单个文件的资源,例如 http: //www.example.com/myfileserver/folder1/folder2/myfile 然后,您可以获取相同的资源来下载文件,使用 PUT 来更新文件,然后使用 DELETE 来删除它。

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

This sounds like a very standard content management application, which REST excels at.

The most straightforward way would be to PUT to a resource whose name is a single file, say http://www.example.com/myfileserver/folder1/folder2/myfile Then you GET the same resource to download the file, PUT to update the file, and DELETE to get rid of it.

In REST, the HTTP operation verb is crucial: POST is designed to add a new resource to the server when you don't know the resource name and the server assigns it. In your case you use PUT, which creates or updates a resource for which the name is known beforehand.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文