此代码运作良好:
img.Save("111.png", System.Drawing.Imaging.ImageFormat.Png);
using (MemoryStream fileStream = new MemoryStream(System.IO.File.ReadAllBytes("111.png")))
{
FilesResource.InsertMediaUpload request = _drive.Files.Insert(item, fileStream, mimeType);
request.Upload();
}
但是当我尝试上传从MemoryStream
收到的System.Drawing.Image
时,我得到了一个谷歌异常:
'The given header was not found.'
代码:
System.Drawing.Image img = myImgObj;
using (MemoryStream fileStream = new MemoryStream()))
{
img.Save(fileStream, System.Drawing.Imaging.ImageFormat.Png);
FilesResource.InsertMediaUpload request = _drive.Files.Insert(item, fileStream, mimeType);
request.Upload();
}
有人可以帮我修复代码吗?
答案 0 :(得分:1)
我不想说你为什么会遇到这个特定错误,但是在你调用Save
之后,流的“游标”位于数据的 end ,因此Insert
没有数据可供阅读。您应该回放信息流:
img.Save(...);
fileStream.Position = 0;
我还建议fileStream
MemoryStream
变量的名称有点误导...