首页 新闻 搜索 专区 学院

关于Bitmap 江湖救急~~

0
悬赏园豆:15 [已解决问题] 解决于 2012-03-05 14:10

网上查资料修改后代码如下:

最近在做项目,需要将Excel中的图片读取且保存在服务器文件夹中,到最后一步的时候无法保存到文件夹中。报GDI+错误~~~

思路如下:

1.在Excel 中找到存放图片的位置:xl/media/image.bin

2.将上面的1转换成Stream流

3.转换成base64String

4.将base64String 转换成图片然后Save() 到目录

以下是代码:

View Code
ImagePart ip = dp.DrawingsPart.Parts.Single(c => c.RelationshipId == _Embed).OpenXmlPart as ImagePart;
//imgExtension = System.IO.Path.GetExtension(ip.Uri.ToString());
Stream stream = ip.GetStream(FileMode.Open, FileAccess.Read);
//图片路径
//string path = ip.Uri.OriginalString;
using (BinaryReader reader = new BinaryReader(stream))
{
byte[] buffer = new byte[reader.BaseStream.Length];
reader.Read(buffer, 0, Convert.ToInt32(buffer.Length));
string base64String = Convert.ToBase64String(buffer);

using (MemoryStream streamBitmap = new MemoryStream(buffer))
{
Bitmap bitImage = new Bitmap((Bitmap)System.Drawing.Image.FromStream(streamBitmap));
bitImage.Save(filePath);
bitImage.Dispose();
}
}
stream.Dispose();


 

like%'远远'%的主页 like%'远远'% | 小虾三级 | 园豆:613
提问于:2012-03-05 13:11
< >
分享
最佳答案
1

确认一下filePath所属的文件夹是否存在?如果不存在,创建一下文件夹。

dudu | 高人七级 |园豆:37655 | 2012-03-05 13:33

恩,是的  确实是路径写错了,谢谢你们了

like%'远远'% | 园豆:613 (小虾三级) | 2012-03-05 14:08
其他回答(1)
1

确定你的思路是可行的, 因为我写代码验证了。

那问题应该出在别的地方,你好好找找吧。

收获园豆:15
sunshaozong | 园豆:325 (菜鸟二级) | 2012-03-05 13:50

恩,谢谢了,

是我路径不对。

支持(0) 反对(0) like%'远远'% | 园豆:613 (小虾三级) | 2012-03-05 14:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册