private void LoadFromFile(Stream s)
{
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, buffer.Length);
UInt32 mimetype_;
FindMimeFromData(0, null, buffer, 256, null, 0, out mimetype_, 0);
IntPtr mimetypeptr = new IntPtr(mimetype_);
string mimetype = Marshal.PtrToStringUni(mimetypeptr);
Marshal.FreeCoTaskMem(mimetypeptr);
if (mimetype.StartsWith("text/"))
{
var textreader = new StreamReader(new MemoryStream(buffer));
var text = textreader.ReadToEnd();
if (mimetype == "text/plain") text = fixUp(text);
CommentBodyRaw.Text = CommentBody.Document.Body.InnerHtml = text;
}
else
{
var text = Convert.ToBase64String(buffer);
CommentBodyRaw.Text = CommentBody.Document.Body.InnerHtml = text;
}
DraggableIcon.Items[0].Text = mimetype;
DraggableIcon.Items[0].ImageIndex = 0;
if (mimetype.StartsWith("image/"))
DraggableIcon.Items[0].ImageIndex = 1;
else if (mimetype.StartsWith("application/zip"))
DraggableIcon.Items[0].ImageIndex = 2;
}