如何将base64数据转换为视频

时间:2013-05-08 11:10:34

标签: asp.net-mvc-3 c#-4.0

我正在录制用户视频并将数据发送到控制器。控制器将以字符串形式接收base64数据。然后我将base64字符串转换为如下字节:

public ActionResult Content(string data)
{
    byte[] ret = System.Text.Encoding.Unicode.GetBytes(data);         
    FileInfo fil = new FileInfo("D://test.mp4");
    MemoryStream stream = new MemoryStream(ret);
    var getdata = stream.GetBuffer();
    using (Stream sw = fil.OpenWrite())
      {
         sw.Write(getdata, 0, getdata.Length);
         sw.Close();
      }
}

视频正在下载但视频未播放内容。任何人都可以告诉我是什么原因。

1 个答案:

答案 0 :(得分:2)

您需要从base64字符串中恢复原始字节数组 - 请使用FromBase64String

public ActionResult Content(string data)
{
    byte[] ret = Convert.FromBase64String(data);         
    FileInfo fil = new FileInfo("D://test.mp4");

    using (Stream sw = fil.OpenWrite())
    {
      sw.Write(ret , 0, ret .Length);
      sw.Close();
    }
}

您的代码正在做的是将base64字符串视为unicode字符串,而不是。