I tried your code, and it works ok - once I'd deleted the retResult variable you don't use (I run with "Treat Warnings as Errors" so it wouldn't compile with it in)
I would suspect that you need to look at the base64 data you are passing to the method - it is probably not correct if your file is being corrupted.
BTW: You don't need to mess with streams (but if you do you should at least Close and Dispose them). Try this version:
public void UploadVideoFileNew(string base64String, string FileName)
{
byte[] imageBytes = Convert.FromBase64String(base64String);
string FilePath = System.Web.Hosting.HostingEnvironment.MapPath("~/TransientStorage/") + "\\";
string FullFilePath = FilePath + FileName;
if (!File.Exists(FullFilePath))
{
File.WriteAllBytes(FullFilePath, imageBytes);
}
}
Which does the same thing, but a little more simply.