上传图片后,无法打开的问题

本文详细阐述了在使用二进制方式保存图片类文件于数据库后,图片无法正常打开的原因,并提供了相应的解决方法。通过重新设置流的位置到起始处,确保图片能够正确读取和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用如下方式上传附件后(二进制保存在数据库中),图片类文件无法正常打开

 Byte[] FileByteArray = new Byte[file.ContentLength];
                    using (Stream stream = file.InputStream)
                    {
                        stream.Read(FileByteArray, 0, file.ContentLength);
                        stream.Flush();
                        stream.Close();
                        stream.Dispose();
                    }
                    attContent.FileContent = FileByteArray;

 

原因:上传图片类文件时,Stream stream = file.InputStream 之后,stream.Position的位置是在最后,其它类型的位置是在0

解决方法:

Byte[] FileByteArray = new Byte[file.ContentLength];
                    using (Stream stream = file.InputStream)
                    {
                        stream.Position = 0;
                        stream.Read(FileByteArray, 0, file.ContentLength);
                        stream.Flush();
                        stream.Close();
                        stream.Dispose();
                    }
                    attContent.FileContent = FileByteArray;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值