最近我在做一个关于图片上传  显示的项目  正好这里也有好多兄弟在发这方面的帖子  
所以我想收集一下关于图片上传 显示这方面的资料 最好是 SQL数据库  加  C#代码的 (别的数据库和语言的也可以)大家可以提供链接    
提供代码  
提供思路   
或者完整的项目下面是主要内容  只给一部分也谢谢主要内容就是  图片  如何上传到服务器   
图片  如何显示给客户端    
图片  怎样在客户端生成缩略图 
图片  如何做成链接   点小图放大为大图  
图片如何放在DataGrid里
如何对图片的一些细节处理  等等等等等等等等等等等等等等等等等等等等等反正凡是跟图片有关的项目  代码  思路 网站   尽管放过来   我照单全收   呵呵有意者加我QQ:8453605  或者发我信箱:[email protected]嫌分少的  再开N帖也不是问题

解决方案 »

  1.   

    asp.net上传图片并同时生成缩略图     ouwx [原作]  
    关键字   缩略图,上传图片 
    出处    
     
     <script language="VB" runat="server">
    Sub UploadFile(sender As Object, e As EventArgs)If FileUp.PostedFile.ContentLength = 0 Then
    FileInfo.Visible = False
    Exit Sub
    Else
    FileInfo.Visible = True
    FDisplay1.Visible = True
    End IfFSize.Text ="上传文件大小"+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
    FName.Text = "已上传文件名:"+FileUp.PostedFile.FileName+"<br>"+FName.Text'写入数据库
    on error resume next
    dim myconn as sqlconnection
    dim mycomm as sqlcommand
    dim sql as string
    dim id as integer
    Dim image,anewimage As System.Drawing.Image
    dim width,height,newwidth,newheight as integer
    Dim callb As System.Drawing.Image.GetThumbnailImageAbort
    myConn=New sqlconnection(ConfigurationSettings.AppSettings("数据库"))
    myconn.open()
    sql="insert into picture (姓名,班级,介绍,属性) values ('"&request.cookies("dgxyl").values("dgxylname")&"','"&request.cookies("dgxyl").values("dgxylbj")&"','"&trim(request("TextBox1"))&"','"&request("r1")&"')"
    Mycomm=New sqlcommand(sql,myconn)
    mycomm.executenonquery()
    myconn.close()Dim myCommand As New SqlCommand("select top 1 id from picture order by id desc", myConn)
    myCommand.Connection.Open()
    Dim myReader As SqlDataReader=mycommand.executereader()
    if myReader.Read() then
    id=myReader("id")
    end if
    myconn.close()
    '保存图片
    FileUp.PostedFile.SaveAs( Server.MapPath("\classpic\")&cstr(id)&".jpg" )
    '生成缩略图
    image=System.Drawing.Image.FromFile(Server.MapPath("/classpic/"+cstr(id)+".jpg"))
    width=image.Width
    height=image.height
    if width>height then
    newwidth=250
    newheight=image.height/image.Width*newwidth
    else
    newheight=250
    newwidth=image.Width/image.height*newheight
    end if
    response.write("id="+cstr(id)+"width="+cstr(Width)+";height="+cstr(height)+"  ")
    response.write("newwidth="+cstr(newwidth)+";newheight="+cstr(newheight)+"<br>")aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr())
    aNewImage.Save(Server.MapPath("/smallpic/"+cstr(id)+".jpg"))
    image.Dispose()
    Dim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
    Dim FileName As String = FileSplit(FileSplit.Length-1)
    Dim Exts() As String = Split( FileName, "." )
    Dim Ext As String = LCase(Exts(Exts.Length-1))FDisplay.Text = "<A Target='_blank' HREF='/classpic/"&cstr(id)&".jpg"& "'>查看上传文件</A>"
    FDisplay1.text="<a href='/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&"'>返回</a>"
    End Sub
    </script>
    <SCRIPT language=JavaScript>
    <!--
    var requestsubmitted=false;
    function guestbook_Validator(theForm)
    {
    //检查是否从新提交
    if (requestsubmitted==true){
      alert("你已经提交了留言,请等待服务器应答!");
      return(false);
     }
    requestsubmitted=true;return (true);
    }
    //-->
    </SCRIPT>
    <Html>
    <Body BgColor=White>
    <H3 align="center">请正确填写下面各项</h3>
    <Hr></H3>
    <Div id="FileInfo" Visible="False" runat="server">
     <Asp:Label id="FSize" runat="server"/><br>
     <Asp:Label id="FName" runat="server"/><br>
    <Asp:Label id="FDisplay" runat="server"/>
     <Asp:Label id="FDisplay1" runat="server"/>
    </Div>
    <Form Enctype="multipart/form-data" onsubmit="return guestbook_Validator(this)" runat="server">
    上传文件
    <Input Type="File" id="FileUp" runat="server" size="20"><br>
    图片属性:<input type="radio" value="<%=request.cookies("dgxyl").values("dgxylbj")%>" name="R1" checked>本班<input type="radio" value="全校" name="R1">全校(本班则只在本班显示,全校则在全校显示)<P>
    图片说明:<br>
    <asp:TextBox id="TextBox1" runat="server" Width="233px" Height="141px">
    </asp:TextBox>
            <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入图片说明">
    </asp:RequiredFieldValidator><br>
    <Asp:button id="Upload" OnClick="UploadFile" Text="上传图片" runat="server"/>
    </form>
    <Hr>
    <p>注意:</p>
    <ol>
      <li><b>严禁上传污染环境的照片,否则账号将被删除!</b></li>
      <li><font color="#808000"><b>请详细填写照片说明,图片说明不详细将会被视为乱传图片,将会被删除!</b></font></li>
    </ol>
    <p> </p></Body>
    </Html> 
      

  2.   

    http://dev.csdn.net/develop/article/21/21341.shtm
      

  3.   

    图片处理的好像挺多的啊。http://www.xmhome.cn/eHome/picGallery/default.aspx
      

  4.   

    把图片读到pictureBox,再写入数据库SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("insert into fuser values ('1a','1b',@i)",conn);
    byte[] ib=new Byte[60000];
    FileStream fs=new FileStream(@"D:\windows temp\temp\1.jpg",FileMode.Open ,FileAccess.Read );
    fs.Read(ib,0,60000);
    cmd.Parameters.Add("@i",SqlDbType.Image,(int)fs.Length);
    cmd.Parameters["@i"].Value=ib;
    cmd.ExecuteNonQuery();
    conn.Close();-------------------------------------------------------
    从数据库读图片到pictureboxSqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn);
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();
    MemoryStream buf=new MemoryStream((byte[])reader[0]);
    Image image=Image.FromStream(buf,true);
    pictureBox1.Image=image;
      

  5.   

    string strFileName=myfile.PostedFile.FileName;
    strFileName=Path.GetFileName(strFileName); Stream fileDataStream=myfile.PostedFile.InputStream;
    int fileLength=myfile.PostedFile.ContentLength;
    byte[] fileData=new byte[fileLength];
    fileDataStream.Read(fileData,0,fileLength); string fileType=myfile.PostedFile.ContentType; Conn.Open(); SqlCommand Cmd=new SqlCommand("insert_doctable",Conn.Connection);
    Cmd.CommandType=CommandType.StoredProcedure;
    Cmd.Parameters.Add(new SqlParameter("@zytitle",SqlDbType.VarChar,100));
    Cmd.Parameters.Add(new SqlParameter("@doctitle",SqlDbType.NVarChar,200));
    Cmd.Parameters.Add(new SqlParameter("@docdate",SqlDbType.DateTime));
    // Cmd.Parameters.Add(new SqlParameter("@nodeid",SqlDbType.NVarChar));
    Cmd.Parameters.Add(new SqlParameter("@doctype",SqlDbType.NVarChar));
    Cmd.Parameters.Add(new SqlParameter("@doctext",SqlDbType.Image));
    Cmd.Parameters.Add(new SqlParameter("@docsize",SqlDbType.Int));
    Cmd.Parameters.Add(new SqlParameter("@upname",SqlDbType.NVarChar)); Cmd.Parameters["@zytitle"].Value=tbTitle.Text;
    Cmd.Parameters["@doctitle"].Value=strFileName;
    Cmd.Parameters["@docdate"].Value=DateTime.Now;
    // Cmd.Parameters["@nodeid"].Value=Request.Params["id"];
    Cmd.Parameters["@doctype"].Value=fileType;
    Cmd.Parameters["@doctext"].Value=fileData;
    Cmd.Parameters["@docsize"].Value=fileLength;
    Cmd.Parameters["@upname"].Value=Session["UserName"].ToString(); Cmd.ExecuteNonQuery();
    Conn.Close();
      

  6.   

    图片上传并自动缩小:Imports System
    Imports System.Web
    Imports System.Drawing
    Imports System.IO
    Imports System.Drawing.ImagingPublic Class Thumbnail
      Inherits System.Web.UI.Page
      Protected WithEvents Label1 As System.Web.UI.WebControls.Label
      Protected WithEvents Button1 As System.Web.UI.WebControls.Button#Region " Web Form Designer Generated Code "  'This call is required by the Web Form Designer.
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
      End Sub#End Region  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"
        Button1.Text = "上载并显示缩略图"
      End Sub  Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim MyFileColl As HttpFileCollection = HttpContext.Current.Request.Files
        Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0)
        If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then
          Response.Write("无效的图形格式。")
          Exit Sub
        End If
        GetThumbNail(MyPostedFile.FileName, 100, 100, MyPostedFile.ContentType.ToString(),_
         False, MyPostedFile.InputStream)
      End Sub  Private Function GetImageType(ByVal strContentType) As System.Drawing.Imaging.ImageFormat
        Select Case (strContentType.ToString().ToLower())
          Case "image/pjpeg"
            GetImageType = System.Drawing.Imaging.ImageFormat.Jpeg
          Case "image/gif"
            GetImageType = System.Drawing.Imaging.ImageFormat.Gif
          Case "image/bmp"
            GetImageType = System.Drawing.Imaging.ImageFormat.Bmp
          Case "image/tiff"
            GetImageType = System.Drawing.Imaging.ImageFormat.Tiff
          Case "image/x-icon"
            GetImageType = System.Drawing.Imaging.ImageFormat.Icon
          Case "image/x-png"
            GetImageType = System.Drawing.Imaging.ImageFormat.Png
          Case "image/x-emf"
            GetImageType = System.Drawing.Imaging.ImageFormat.Emf
          Case "image/x-exif"
            GetImageType = System.Drawing.Imaging.ImageFormat.Exif
          Case "image/x-wmf"
            GetImageType = System.Drawing.Imaging.ImageFormat.Wmf
          Case Else
            GetImageType = System.Drawing.Imaging.ImageFormat.MemoryBmp
        End Select
      End Function  Private Sub GetThumbNail(ByVal strFileName, ByVal iWidth, ByVal iheight, ByVal strContentType, _
      ByVal blnGetFromFile, ByVal ImgStream)
        Dim oImg As Image
        If blnGetFromFile Then
          oImg = oImg.FromFile(strFileName)
        Else
          oImg = oImg.FromStream(ImgStream)
        End If
        oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr()).Zero)
        Dim strGuid As String = (New Guid()).NewGuid().ToString().ToUpper()
        Dim strFileExt As String = strFileName.Substring(strFileName.LastIndexOf("."))
        '保存到本地
        'oImg.Save(Server.MapPath("images") + "\" + strGuid + strFileExt, GetImageType(strContentType))
        '直接输出url文件
        'Response.Redirect("images/" + strGuid + strFileExt)
        '以下显示在屏幕上
        Response.ContentType = strContentType
        Dim MemStream As New MemoryStream()
        ' 注意:这里如果直接用 oImg.Save(Response.OutputStream, GetImageType(strContentType))
        ' 对不同的格式可能会出错,比如Png格式。
        oImg.Save(MemStream, GetImageType(strContentType))
        MemStream.WriteTo(Response.OutputStream)
      End SubEnd ClassC#using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO; 
    using System.Drawing.Imaging;namespace eMeng.Exam
    {
    /// <summary>
    /// Thumbnail 的摘要说明。
    /// </summary>
    public class Thumbnail : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"; 
    Button1.Text = "上载并显示缩略图";  } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    HttpFileCollection MyFileColl = HttpContext.Current.Request.Files; 
    HttpPostedFile MyPostedFile = MyFileColl[0];  if (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image") < 0) 

    Response.Write("无效的图形格式。"); 
    return; 

    GetThumbNail(MyPostedFile.FileName, 100, 100, 
    MyPostedFile.ContentType.ToString(), false, MyPostedFile.InputStream); 
    }
    private System.Drawing.Imaging.ImageFormat GetImageType(object strContentType) 

    if ((strContentType.ToString().ToLower()) == "image/pjpeg") 

    return System.Drawing.Imaging.ImageFormat.Jpeg; 

    else if ((strContentType.ToString().ToLower()) == "image/gif") 

    return System.Drawing.Imaging.ImageFormat.Gif; 

    else if ((strContentType.ToString().ToLower()) == "image/bmp") 

    return System.Drawing.Imaging.ImageFormat.Bmp; 

    else if ((strContentType.ToString().ToLower()) == "image/tiff") 

    return System.Drawing.Imaging.ImageFormat.Tiff; 

    else if ((strContentType.ToString().ToLower()) == "image/x-icon") 

    return System.Drawing.Imaging.ImageFormat.Icon; 

    else if ((strContentType.ToString().ToLower()) == "image/x-png") 

    return System.Drawing.Imaging.ImageFormat.Png; 

    else if ((strContentType.ToString().ToLower()) == "image/x-emf") 

    return System.Drawing.Imaging.ImageFormat.Emf; 

    else if ((strContentType.ToString().ToLower()) == "image/x-exif") 

    return System.Drawing.Imaging.ImageFormat.Exif; 

    else if ((strContentType.ToString().ToLower()) == "image/x-wmf") 

    return System.Drawing.Imaging.ImageFormat.Wmf; 

    else 

    return System.Drawing.Imaging.ImageFormat.MemoryBmp; 

    }  private void GetThumbNail(string strFileName, int iWidth, int iheight, 
    string strContentType, bool blnGetFromFile, System.IO.Stream ImgStream) 

    System.Drawing.Image oImg;

    if (blnGetFromFile) 

    oImg = System.Drawing.Image.FromFile(strFileName); 

    else 

    oImg = System.Drawing.Image.FromStream(ImgStream); 

    oImg = oImg.GetThumbnailImage(iWidth, iheight, null, IntPtr.Zero); 
    string strGuid = System.Guid.NewGuid().ToString().ToUpper(); 
    string strFileExt = strFileName.Substring(strFileName.LastIndexOf(".")); 
    Response.ContentType = strContentType; 
    MemoryStream MemStream = new MemoryStream(); 
    oImg.Save(MemStream, GetImageType(strContentType)); 
    MemStream.WriteTo(Response.OutputStream); 
    } }
    }
      

  7.   

    图片传到服务器上(SQL数据库里)并可以下载,
    //得到提交的文件
    Stream fileDataStream = filupload.PostedFile.InputStream; //得到文件大小
    int fileLength = filupload.PostedFile.ContentLength; //创建数组
    byte[] fileData = new byte[fileLength]; //把文件流填充到数组
    fileDataStream.Read(fileData,0,fileLength); //得到文件名字
    string fileTitle = filupload.PostedFile.FileName;            

    //得到文件类型
    string fileType = filupload.PostedFile.ContentType;
    //构建数据库连接,SQL语句,创建参数
    SqlCommand myCommand = new SqlCommand ("INSERT INTO Flow_Attachments (Name,Type,Image)" + "VALUES (@Name,@Type,@fileData)", myConnection); myCommand.Parameters.Add("@Name",SqlDbType.NVarChar);
    myCommand.Parameters["@Name"].Value = fileTitle;
    myCommand.Parameters.Add("@Type",SqlDbType.NVarChar);
    myCommand.Parameters["@Type"].Value = fileType;
    myCommand.Parameters.Add("@fileData",SqlDbType.Image);
    myCommand.Parameters["@fileData"].Value = fileData;

    //打开连接,执行
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
    //下载需要打开一个页面,在Page_Load里加
    SqlCommand command = new SqlCommand("SELECT * from Flow_Attachments where ID=" + Request.QueryString["AttachmentID"],myConnection);
    myConnection.Open();
    SqlDataReader dr = command.ExecuteReader();
    if(dr.Read())
    {
    Response.Clear();
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(dr[1].ToString()));
    Response.BinaryWrite((byte[])dr[3]);
    }
    dr.Close();
    myConnection.Close();//表结构
    CREATE TABLE [ISS].[flow_Attachments] (
    [ID] [int] IDENTITY (1, 1) NOT NULL ,             /*ID*/
    [Name] [nvarchar] (100) NULL ,                     /*名称*/
    [Type] [nvarchar] (50) NULL ,                      /*类型*/
    [Image] [image] NULL ,                            /*附件内容*/
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
      

  8.   


    2. 在ASP时代要上传一个文件是很麻烦的事,有了ASP.Net事情就变得简单.这里我给出一个实例,希望能对朋友们有帮助.文件上传的实例, 来自http://www.chinabs.net">中国BS网<%@ Import Namespace="System.IO" %>
    <%@ page Language="C#" debug="true" %>
    <html>
    <head>
    <title>上传文件 , http://www.chinabs.net </title>
    <script language="C#" runat="server">
     //This method is called when the "upload" button id pressed
     public void UploadFile(object sender , EventArgs E)
     {
       //检查上传文件不为空
       if(myFile.PostedFile!=null)
       {     
      string nam = myFile.PostedFile.FileName ;
      //取得文件名(抱括路径)里最后一个"."的索引
      int i= nam.LastIndexOf(".");
      //取得文件扩展名
      string newext =nam.Substring(i);
      //这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
      DateTime now = DateTime.Now; 
      string newname=now.DayOfYear.ToString()+myFile.PostedFile.ContentLength.ToString(); 
      //保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
      //注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替
      myFile.PostedFile.SaveAs(Server.MapPath("\\upload\\"+newname+newext)); 
      //得到这个文件的相关属性:文件名,文件类型,文件大小
      fname.Text=myFile.PostedFile.FileName;
      fenc.Text=myFile.PostedFile.ContentType ;
      fsize.Text=myFile.PostedFile.ContentLength.ToString();
       }
     }</script>
    </head>
    <body>
    <center>
    <h3> 文件上传的实例, 来自<a href="http://www.chinabs.net">中国BS网</a></h3>
    <form id="uploderform" method="post" action="FileUpload.aspx" enctype="multipart/form-data"  runat="server" >
    <table border="1" cellspacing="2" cellpadding="2" >
    <tr> <td><h5>选择要上传的文件:</h5></td</tr>
    <tr>
    <td>
    <input type="file" id="myFile" runat="server" NAME="myFile">
    </td>
    </tr>
    <tr><td>
    <input type="button"  value="上 传" OnServerClick="UploadFile" runat="server" ID="Button1" NAME="Button1">
    </td></tr>
    </table>
    </form>
    <br>
    <br>
    <table border="1" cellspacing="2">
    <tr><td><b>文件资料</b></td>
    <td>&nbsp;</td> 
    </tr>
    <tr>
    <td>文件名 :</td>
    <td><asp:label id="fname" text="" runat="server" /></td></tr>
    <tr>
    <td>文件类型 :</td>
    <td><asp:label id="fenc" runat="server" /></td></tr>
    <tr>
    <td>文件大小 :(in bytes)</td>
    <td><asp:label id="fsize" runat="server" /></td></tr>
    </table>
    <br>
    <br>
    <br>
    </center>
    </body>
    </html>
      

  9.   


    4.在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:MultiUpload.aspx<%@ Page Language="vb" AutoEventWireup="false" Codebehind="MultiUpload.aspx.vb"
     Inherits="aspxWeb.MultiUpload" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
        <title>多文件上传</title>
        <script language="JavaScript">
        function addFile()
        {
         var str = '<INPUT type="file" size="50" NAME="File">'
         document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
        }
        </script>
      </HEAD>
      <body>
        <form id="form1" method="post" runat="server" enctype="multipart/form-data">
          <center>
            <asp:Label Runat="server" ID="MyTitle"></asp:Label>
            <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
            <P>
              <input type="button" value="增加(Add)" onclick="addFile()">
              <asp:Button Runat="server" Text="上传" ID="Upload"></asp:Button>
              <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
            </P>
          </center>
          <P align="center">
            <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True"
             Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
          </P>
        </form>
      </body>
    </HTML>后代码:MultiUpload.aspx.vbPublic Class MultiUpload
        Inherits System.Web.UI.Page
      Protected WithEvents Upload As System.Web.UI.WebControls.Button
      Protected WithEvents MyTitle As System.Web.UI.WebControls.Label
      Protected WithEvents strStatus As System.Web.UI.WebControls.Label#Region " Web Form Designer Generated Code "  'This call is required by the Web Form Designer.
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
      End Sub#End Region  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MyTitle.Text = "<h3>多文件上传</h3>"
        Upload.Text = "开始上传"
        If (Me.IsPostBack) Then Me.SaveImages()
      End Sub  Private Function SaveImages() As System.Boolean
        '遍历File表单元素
        Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files    '状态信息
        Dim strMsg As New System.Text.StringBuilder("上传的文件分别是:<hr color=red>")
        Dim iFile As System.Int32
        Try
          For iFile = 0 To files.Count - 1
            '检查文件扩展名字
            Dim postedFile As System.Web.HttpPostedFile = files(iFile)
            Dim fileName, fileExtension As System.String
            fileName = System.IO.Path.GetFileName(postedFile.FileName)
            If Not (fileName = String.Empty) Then
              fileExtension = System.IO.Path.GetExtension(fileName)
              strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>")
              strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>")
              strMsg.Append("上传文件的文件名:" + fileName + "<br>")
              strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>")
              '可根据扩展名字的不同保存到不同的文件夹
              postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName)
            End If
          Next
          strStatus.Text = strMsg.ToString()
          Return True
        Catch Ex As System.Exception
          strStatus.Text = Ex.Message
          Return False
        End Try
      End Function
    End Class
      

  10.   

    正在做图片处理的东西
    包括:
    1、图片的上传下载
    2、图片的格式转换
    3、图片的旋转、放大缩小、加水印
    4、图片的特殊效果处理,含高斯模糊、水波、球镜、阴影、立体等
    5、图片的合成(有很多功能尚无法实现)
    6、水晶按钮、立体文字的处理(也只实现部分功能)等有待解决的问题:
    1、图片的分层效果(类似PHOTOSHOP的Layer和Mask)[已找到部分解决方案,但仍有待处理]
    2、文字的Emboss Bevel等处理
    3、如何实现Illustrator,CoreDraw的部分效果
    4、图片的任意变形,就象PHOTOSHOP中的Transform菜单下的很多效果一样,目前可以实现其中的几种变形,任意变形仍无法解决。
    5、如何实现工具箱功能,类似VS,DreamWeaver,CoreDraw的左边可浮动的工具箱?
    6、客户端FTP上传问题?
    7、多图片压缩上传后的解压问题?
    8、如何保存为矢量图形格式?欢迎大家探讨。