2013-05-10 41 views
6

我们有要求使用ServiceStack API上传图像。使用ServiceStack上传图像文件

我知道的两种可能的方式:

1)使用JSON对象上传文件(使用Base64字符串)。 2)使用“multipart/form-data”

是否有任何其他方式使用ServiceStack上传文件?在最佳实践方面哪个更好?

回答

11

在ServiceStack中上传文件的最佳方式是仅执行正常的HTTP文件上传,请参阅source codeimgur.servicestack.netfile uploads in RestFiles的示例。

如果您不想发送multipart/form-data,请使用Protocol Buffers support in ServiceStack之类的二进制格式,并发送byte[]以避免以文本格式编码二进制文件的计算和有效负载开销。

+1

是的,你只需点击'Request.Files'。 @mythz,谢谢btw。 – 2013-05-10 15:27:32

+0

我喜欢协议缓冲区。它可以很容易地由各种移动客户端实施?我正在寻找可供各种移动应用使用的解决方案,而不会为开发人员带来太多困难。 – 2013-05-13 00:34:28

+0

@ Black-Baba使用'multipart/form-data'获得最佳的互操作性,因为它将允许任何支持它的平台上的HTTP客户端能够将文件上传到您的服务。 – mythz 2013-05-13 03:43:50