我有一个x64文件的Base64字符串。当我尝试打开base64流时 它抛出以下异常
Aspose.Cells.CellsException :不支持此文件的格式,或者您未指定正确的格式。
public Stream ConvertFileToStream(string fileBase64)
{
var fileAsBytes = Convert.FromBase64String(fileBase64);
Stream stream = new MemoryStream(fileAsBytes);
return stream;
}
public void Open(Stream fileSource)
{
FileFormatUtil.DetectFileFormat(fileSource);
_workbook = new Workbook(fileSource);
}
答案 0 :(得分:1)
我更改了代码的相关部分并且它有效。现在我可以使用base64 excel字符串了。
首先,我使用 BinaryWriter 将文件转换为流。
ExamId id = new ExamId(1L);
session.get(Exam.class, id);
然后我更改了我的Open方法,将文件转换为Workbook。
public Stream ConvertFileToStream(string fileBase64, NameValueCollection formData, string fileName)
{
var fileAsBytes = Convert.FromBase64String(fileBase64);
var stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(fileAsBytes);
return stream;
}