RESTful文件上传方式

时间:2012-01-27 06:54:11

标签: rest openrasta

我想使用openrasta以RESTful方式实现文件上传,但无法找到实现它的正确方法。使用Ajax文件上传或使用我能找到的Iframe的方法很少。

任何人都可以建议这样做或者从我可以推荐的地方提供一些资源。

提前致谢

1 个答案:

答案 0 :(得分:2)

在我看来,你正试图在html环​​境中构建文件上传。

你有两个选择。

使用HTML表单上传文件。

<form enctype="multipart/form-data" action="/files" method="post">
  <fieldset>
    <input type="file" name="filename" />
    <input type="submit" />
  </fieldset>
</form>

您可以非常轻松地在OR中映射它。你的处理程序看起来像这样:

public object Post(IFile filename) { /* do something with the file */ }

您无法使用进度条执行基于ajax的文件上载,因为纯xmlhttprequest无法操作二进制文件。如果你沿着场景后面使用flash / silverlight控件的路线走下去,你只需要确保将文件的内容发布到/files,就像上一个例子中一样,最简单的方法是发送带有application-octet-stram的Content-Type http标头的内容,以及相同的处理程序代码将起作用。