Asp.Net 開發之圖片上傳

這裏就不說效果圖了,因爲我會把所有的代碼,包括頁面代碼都貼出來,希望大家理解!首先看一下頁面的代碼

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileImg.aspx.cs" Inherits="FileUpLoadImg.FileImg" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>文件上傳</title>
    <style type="text/css">
        #form1
        {
            height: 973px;
        }
    </style>
    <script language="javascript" type="text/javascript">
        function ImgFile() {
            return confirm("是否上傳"); <!--js選擇控件-->            
        }    
    </script>
</head>
<body>
    <form id="form1" runat="server">

    <div style="width:49%; height:395px; float:left; background-color:White;">
        <asp:FileUpload ID="FileUpload1" runat="server" />

        <asp:Label

            ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    <div style="width:50%; height:400px; float:right; background-color:White">
        <asp:Button ID="Button1" runat="server" Text="圖片上傳"  onclick="Button1_Click" OnClientClick="ImgFile()" />
    </div>
   </form>
</body>
</html>

就放置了一個文件上傳的空間和一個圖片上傳的按鈕,寫了一個Js的提示框!調用寫的js的代碼!下面我們看一下後臺的代碼。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.DataAccess;
using System.Data;


namespace FileUpLoadImg
{
    public partial class FileImg : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Boolean fileOk = false;
            String path = Server.MapPath("/Img/");
            if(FileUpload1.HasFile)
            {
                String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();//轉換成爲小寫
                String[] allowedExtensions = {".gif",".png",".jpg",".jpeg"};
                for (int i = 0; i < allowedExtensions.Length; i++)
                {
                    if (fileExtension == allowedExtensions[i])
                    {
                        fileOk = true;//判斷文件上傳的格式
                    }
                }
            }
            if (fileOk)
            {
                try
                {
                    FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
                    Label1.Text = "上傳成功";

                }
                catch (Exception e2)
                {
                    Label1.Text = "上傳失敗";
                }
            }
            else
            {
                Label1.Text = "文件類型不符";
            }
        }
    }
}

後天代碼也很簡單,首先我寫了一個判斷上傳是否成功的Boolean 變量,用來判斷圖片是否上傳成功!path 表示圖片上傳的路徑,FileUpload1.HasFile 表示是否存在上傳的文件,如果是真的話,就執行上傳的代碼
fileExtension 獲得圖片的路徑 allowedExtensions數組用來判斷圖片上傳是否滿足格式要求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章