【发布时间】:2011-12-30 00:12:34
【问题描述】:
我有一个 ASP MVC 应用程序,我也将它(作为要求)用作移动应用程序的 Web 服务。
我有一个控制器来处理返回 json 的移动应用程序使用的大部分操作,效果很好。
但我不确定如何将图片上传为 byte[]。
控制器动作可以接收字节[] 吗?
我正在考虑将 byte[] 编码为字符串,然后在控制器操作中将其解码。
但我尝试了来回转换,但新的字节[]总是与原始字节[]不同
byte[] originalData = ... // picture as byte[]
string dataString = System.Text.Encoding.Unicode.GetString(data);
byte[] newData = System.Text.Encoding.Unicode.GetBytes(dataString);
有没有更好的方法或者我应该直接接收简单的字节[]??
【问题讨论】:
-
请注意,您不应该使用
Encoding.Unicode将二进制数据编码/解码为字符串,它可能会添加 BOM。我有同样的问题。您应该按如下方式创建自己的编码:new UTF8Encoding(false)... 这将提供无损二进制编码和解码。
标签: arrays asp.net-mvc parameter-passing