Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->ASP.NET ->正文

通过.NET上传图象

来源:Linuxdby.com 作者:Webmaster 时间:2007-04-12 点击: [收藏] [投稿]

    以前,通过ASP上传图象(图象的大小、类型都受到限制)一般都是要借助外部组件来完成,.NET的出现,使这一工作变得非常容易并且可以随便的使用Bitmap和Image类型。

    在这个指导思想下,我把按照以下步骤(在你要上传图象文件上)创建一个简单的WEB窗体,该窗体把判断上传的文件是否是JPEG文件、判断该文件是否存在(必要时你可以重命名)。

    1、  创建一个新Web 应用程序项目;

    2、  打开Web 窗体;

    3、  在窗体上面添加一个HTML表单,并把它转换成服务器控件。在这个例子里,该文件把命名为filUpload;(把HTML转换成服务器控件的方法是,在它的上面右击鼠标然后选择Run As Server Control)

    4、  切换到HTML view并添加/更改FORM标签的enctype属性为multipart/form-data。如:enctype="multipart/form-data"。

    5、  在Web窗体上添加一个BUTTON并命名为btnUpload。

    6、  向Web应用程序添加一个folder called /images。

    7、  在窗体上添加一个Web Form Image并命名为imgPicture,设置宽度和高度分别为160和120。

    8、  添加一个Label控件并命名为lblOutput。显示当在上传的过程中发生的任何错误。

    9、  给按钮btnUpload的单击事件添加如下代码:(如果你想分析以下代码的细节,你可以把下面的代码复制粘贴到VS.NET IDE集成开发环境。)

    1.     private void btnUpload_Click(object sender, System.EventArgs e)
    2.     {
    3.         // Initialize variables
    4.         string sSavePath;
    5.         string sThumbExtension;
    6.         int intThumbWidth;
    7.         int intThumbHeight;
    8.
    9.         // Set constant values
    10.      sSavePath = "images/";
    11.      sThumbExtension = "_thumb";
    12.      intThumbWidth = 160;
    13.      intThumbHeight = 120;
    14.
    15.      // If file field isn’t empty
    16.      if (filUpload.PostedFile != null)
    17.      {
    18.          // Check file size (mustn’t be 0)
    19.          HttpPostedFile myFile = filUpload.PostedFile;
    20.          int nFileLen = myFile.ContentLength;
    21.          if (nFileLen == 0)
    22.          {
    23.              lblOutput.Text = "No file was uploaded.";
    24.              return;
    25.          }
    26.
    27.          // Check file extension (must be JPG)
    28.          if (System.IO.Path.GetExtension(myFile.FileName).ToLower() != ".jpg")
    29.          {
    30.              lblOutput.Text = "The file must have an extension of JPG";
    31.              return;
    32.          }
    33.
    34.          // Read file into a data stream
    35.          byte[] myData = new Byte[nFileLen];
    36.          myFile.InputStream.Read(myData,0,nFileLen);
    37.
    38.          // Make sure a duplicate file doesn’t exist.  If it does, keep on appending an
    39.          // incremental numeric until it is unique
    40.          string sFilename = System.IO.Path.GetFileName(myFile.FileName);

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇: 在ASP.NET下实现数字和字符相混合的验证码   下一篇: ASP.NET与ASP编译与解释的区别

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号