MemoryStream到Base64给出无效的Base64字符串

时间:2016-12-13 10:56:22

标签: model-view-controller asp.net-core base64

在文件上传中,我在数据库插入之前将字节数组转换为base64。在下面的方法中,Convert.ToBase64String()函数导致无效的base64字符串。我应该在传递给函数之前处理/验证内存流数组吗?

using (var fileStream = file.OpenReadStream())
using (var ms = new MemoryStream())
 {
   fileStream.CopyTo(ms);
   fileBytes = ms.ToArray();
   string s = Convert.ToBase64String(fileBytes);
   fileIn.FileData = s;
 }

1 个答案:

答案 0 :(得分:0)

复制后,“将”MemoryStream“快退”到开头:

fileStream.CopyTo(ms);
ms.Position = 0; //    <-- Add this line
fileBytes = ms.ToArray();