0
我需要從上傳的字體中獲取字體系列名稱。用戶上傳.ttf文件。當我嘗試反序列化數據時,出現以下錯誤「輸入流不是有效的二進制格式。」字體數據通過使用readAsDataURL()的HTML5 FileReader進行上傳。如何從Base64String反序列化上傳的字體?
任何人都可以發現我做錯了什麼嗎?我懷疑我使用了錯誤的反序列化器......但我不確定。
//clean the font data of encoding
var cleanFontData = brandingsFontAddViewModel.FontData.Split(',')[1];
var fontBytes = Convert.FromBase64String(cleanFontData);
using (Stream memStream = new MemoryStream(fontBytes, 0, fontBytes.Length))
{
var deserializer = new BinaryFormatter();
var font = (Font)deserializer.Deserialize(memStream);
}
上傳的文件實際上是一個已經在.NET中進行了serlialised的字體對象,還是僅僅是一個正常的文件上傳?如果是後者,那麼你需要找到一些方法來讀取該文件格式。如果前者那麼你也應該告訴我們它是如何被序列化的。 – Chris
@Chris這是一個正常的.ttf文件。 – NullReference
字體類型的二進制(de)序列化不會產生ttf ... –