• 在ASP.NET Web Application 中如何处理图片 【转】有用


     

    老规矩,直接分析代码

    首先是,建立一个表,字段类型是image

    通常情况下,你会发现没有办法存image ,因为长度是50,不能改。而一个image通常是1000多个

    image数据类型的长度是16,我存入一张图的时候图最多就只能30K左右,大点的图根本就不能存。我想改它的长度,但是不能改的。  
    跑一下下面的语句:

      sp_tableoption   N'MyTable',   'text   in   row',   '1000'        只有执行过这一句Image类型的数据才起作用

    其次,是将文件转化为二进制数据字节数组

           将文件转为二进制数据
            public static  byte[] PictureFileToByte(string picFilePath)
            {
                FileStream fs = new FileStream(picFilePath, FileMode.Open, FileAccess.Read);
                byte[] bytePhoto = new byte[fs.Length];
                fs.Read(bytePhoto, 0, (int)fs.Length);
                fs.Close();
                return bytePhoto;
            }

    于是图片便存到数据库中去了。

    读取

    建立一个Image 控件,   Image.ImageUrl=Image.aspx?ID=2002

    2002是数据库中存图片的表的行ID,

    Image.aspx 中

     protected void Page_Load(object sender, EventArgs e)
        {
            string guid = Request.QueryString["ID"];
            if (guid != null)
            {
                Response.ClearContent();
                Response.ContentType = "image/jpeg";
                byte[] data = Utility.Picture(guid); 读出二进制数据字节
               Response.BinaryWrite((byte[])data);
            }

        }


    作者:水木    
     
  • 相关阅读:
    Codeforces 662 C. Binary Table
    Codeforces 923 D. Picking Strings
    Codeforces 923 C. Perfect Security
    Codeforces 923 B. Producing Snow
    Codeforces 923 A. Primal Sport
    bzoj千题计划288:bzoj1876: [SDOI2009]SuperGCD
    Configuring HugePages for Oracle on Linux (x86-64)
    Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)
    Linux Hugepage ,AMM及 USE_LARGE_PAGES for oracle 11G(转载)
    Oracle教程:如何诊断节点重启问题(转载)
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1664222.html
Copyright © 2020-2023  润新知