关于HttpPostedFile转换成byte[]的问题

gxhxxx 2014-05-27 03:47:43
我用了个ajaxfileupLoad插件来做的图片上传,然后把图片保存到数据库 这是在ashx里写的



HttpPostedFile jpeg_image_upload = context.Request.Files[0];
Image drimg = Image.FromStream(jpeg_image_upload.InputStream);
byte[] bytes = ConvertImage(drimg);
drimg.Dispose();
bool result = new HomePageManager().UpdateUserSignOrHeadPic(empID, bytes, "xxxx");
break;



点击上传之后的确有数据被保存到数据库,可是那些数据在读取时完全不能正常显示,不知道是不是我在对数据流进行转换时弄错了方法,懂的朋友请指点一下,谢谢了!
以下是我的一个转换数据流的方法:

public static byte[] Image(Image image)
{
MemoryStream ms = new MemoryStream();
image.Save(ms,image.RawFormat);
byte[] bytes = ms.ToArray();
ms.Close();
return bytes;
}
...全文
1242 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxhxxx 2014-05-27
  • 打赏
  • 举报
回复
public void EmpLoading(string empID,HttpContext context) 
        {
            DataTable dt = new HomePageManager().GetLoginUse(empID);
            if (dt == null)
            {
                context.Response.Write("1111");
                return;
            }
            Hashtable hsdata = new WapManager().GetMainNumberList(empID);
            if (dt.Rows[0]["Sign"].ToString() == "")
            {
                hsdata.Add("Sign", "您还没有添加个性签名!");
            }
            else
            {
                hsdata.Add("Sign", dt.Rows[0]["Sign"]);
            }
            hsdata.Add("CNEmpName", dt.Rows[0]["CNEmpName"]);
            string imgUrl = "/Common/Images/user.png";              //头像默认图片
            if (dt.Rows[0]["HeadPic"].ToString() != "")
            {
                AjaxMain ajaxMain = new AjaxMain();
                imgUrl = ajaxMain.ConvertByteToImage(dt.Rows[0]["HeadPic"] as Byte[], empID, context);//将byte[]转成地址
               //hsdata.Add("HeadPic", imgUrl);
            }
            hsdata.Add("HeadPic", "<img id='headPic' src=" + imgUrl + ">");
            context.Response.Write(JSON.Encode(hsdata));
        }
feiyun0112 2014-05-27
  • 打赏
  • 举报
回复
看看你的显示代码
gxhxxx 2014-05-27
  • 打赏
  • 举报
回复
引用 1 楼 feiyun0112 的回复:
byte[] bytes = null; using (var binaryReader = new BinaryReader(jpeg_image_upload .InputStream)) { bytes = binaryReader.ReadBytes(jpeg_image_upload.ContentLength); }
我把你这代码也放进去了 结果还是一样

   HttpPostedFile jpeg_image_upload = context.Request.Files[0];
                    byte[] bytes = null;
                    using (var binaryReader = new BinaryReader(jpeg_image_upload.InputStream))
                    {
                        bytes = binaryReader.ReadBytes(jpeg_image_upload.ContentLength);
                    }

                    //Image drimg = Image.FromStream(jpeg_image_upload.InputStream);
                    //byte[] bytesa = ConvertImage(drimg);
                    //drimg.Dispose();
                    bool result = new HomePageManager().UpdateUserSignOrHeadPic(empID, bytes, "xxxx");
                    break;
数据库显示有数据保存 但是在次读取的时候 没有显示
gxhxxx 2014-05-27
  • 打赏
  • 举报
回复
可不可以说下 是什么意思 这段代码?
feiyun0112 2014-05-27
  • 打赏
  • 举报
回复
byte[] bytes = null;
using (var binaryReader = new BinaryReader(jpeg_image_upload .InputStream))
{
bytes = binaryReader.ReadBytes(jpeg_image_upload.ContentLength);
}

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧