1
사용자 비디오를 녹화하고 컨트롤러에 데이터를 보내고 있습니다. 컨트롤러는 base64 데이터를 문자열로 수신합니다. 그런 다음 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();
}
}
동영상이 다운로드되지만 동영상은 콘텐츠를 재생하지 않습니다. 어떤 몸이라도 그 이유를 말해 줄 수 있습니까?
만약 내가 이렇게하면 'var getdata = stream.GetBuffer();'에서 오류가 발생하고 메모리 스트림의 내부 버퍼에 액세스 할 수 없다는 오류가 발생했습니다. – Jonathan
@Jonathan - 왜 액세스해야합니까? 메모리 스트림에서 파일 스트림으로 복사하기 만하면 (또는'byte []'를 디스크에 직접 씁니다. (결국'ret'입니다.) 대답이 업데이트되었습니다 .. – Oded
감사합니다. – Jonathan