我从word导入图片到数据库的时候代码是这样的
- C# code
///////////////////////处理图片 Begin///////////////////////////////////////////////// if (Directory.Exists("C:\\TempPics\\")) { //每次处理时先清空图片文件夹 foreach (string d in Directory.GetFiles("C:\\TempPics\\")) { File.Delete(d); } } //首先创建一个用于存放图片的文件夹 if (!Directory.Exists("C:\\TempPics\\")) Directory.CreateDirectory("C:\\TempPics\\"); foreach (Word.InlineShape ish in doc.InlineShapes) { if ((ish.Type == Word.WdInlineShapeType.wdInlineShapeLinkedPicture) || (ish.Type == Word.WdInlineShapeType.wdInlineShapePicture)) { ish.Select(); //拷贝图片 app.Selection.CopyAsPicture(); Image image = Clipboard.GetImage(); Bitmap bitmap = new Bitmap(image); //bitmap转换为byte[]类型 MemoryStream imgStream = new MemoryStream(); bitmap.Save(imgStream, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] bytes ={ }; bytes = imgStream.ToArray(); //获取image表中最大ID int i = DataHelper.GetImageID(); //导入图片到数据库sys_Image表 DataHelper.ImportPics(i, bytes); ish.Delete(); Clipboard.Clear(); } } //////////////////////处理图片 End///////////////////////////////////////////////////
现在的问题就是当上面代码中判断语句ish.Type == Word.WdInlineShapeType.wdInlineShapeLinkedPicture的时候图片导入会识别不了这个图片而自动识别到上一个图片,当ish.Type == Word.WdInlineShapeType.wdInlineShapePicture的时候就是正常识别导入的,如下图,第一个图片是wdInlineShapePicture导入正常,第二个图片判断是wdInlineShapeLinkedPicture类型导入不了后就自动把第一个图片再次导入了。
不知道为什么wdInlineShapeLinkedPicture类型的导入不了,大虾们帮帮忙吧,看看有啥解决办法。
------解决方案--------------------------------------------------------
WORD中有2张图片么?
------解决方案--------------------------------------------------------
没遇到过,帮顶下