Asp.net的FileUpload控件的文件上传与Extjs文件上传的简单Demo

Asp.net的FileUpload控件的文件上传与Extjs文件上传的简单Demo
点击:44次  来源:   时间:2011-08-16 20:42

 

当我在说“愿上帝保佑女人”这句话时,尽管我们之中没有人能完全懂得一位贤妻的高贵情怀,或是一位良母执着奉献,但贰心中会说“阿门”!一、可能思路

精力象乳汁一样是可以养育的,聪明便是一只乳房。1.1、Asp.net的FileUpload控件的文件上传

1.2、Extjs的文件上传

二、数据库(暂无)

三、新建一个网站

3.1、Default.aspx代码

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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>
   <link href="ext-3.2.0/resources/css/ext-all.css" rel="stylesheet" type="text/css" />

    <script src="ext-3.2.0/adapter/ext/ext-base.js" type="text/javascript"></script>

    <script src="ext-3.2.0/ext-all.js" type="text/javascript"></script>

    <script src="ext-3.2.0/src/locale/ext-lang-zh_CN.js" type="text/javascript"></script>
    <link href="UploadFile/fileuploadfield.css" rel="stylesheet" type="text/css" />
    <script src="UploadFile/FileUpLoadField.js" type="text/javascript"></script>
    <script type="text/javascript">
        Ext.QuickTips.init();
        Ext.form.Field.prototype.msgTarget = ""side"";
        Ext.onReady(function() {
            var form = new Ext.form.FormPanel({
                baseCls: ""x-plain"",
                labelWidth: 80,
                url: ""upload.ashx"",
                fileUpload: true,
                defaultType: ""textfield"",

                items: [{
                    xtype: ""textfield"",
                    fieldLabel: ""File Name"",
                    name: ""userfile"",
                    inputType: ""file"",
                    allowBlank: false,
                    blankText: ""File can""t not empty."",
                    anchor: ""90%""  // anchor width by percentage
}]
                });

                var win = new Ext.Window({
                    title: ""Upload file"",
                    width: 400,
                    height: 200,
                    minWidth: 300,
                    minHeight: 100,
                    layout: ""fit"",
                    plain: true,
                    bodyStyle: ""padding:5px;"",
                    buttonAlign: ""center"",
                    items: form,

                    buttons: [{
                        text: ""Upload"",
                        handler: function() {
                            if (form.form.isValid()) {
                                Ext.MessageBox.show({
                                    title: ""Please wait"",
                                    msg: ""Uploading..."",
                                    progressText: """",
                                    width: 300,
                                    progress: true,
                                    closable: false,
                                    animEl: ""loding""
                                });
                                form.getForm().submit({
                                    success: function(form, action) {
                                        Ext.Msg.alert(""Message  extjs.org.cn"", action.result.msg);
                                        win.hide();
                                    },
                                    failure: function() {
                                        Ext.Msg.alert(""Error"", ""File upload failure."");
                                    }
                                })
                            }
                        }
                    }, {
                        text: ""Close"",
                        handler: function() { win.hide(); }
}]
                    });
                    win.show();
                });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Button1" runat="server"
            Text="上传" οnclick="Button1_Click" />
    </div>
    <asp:Image ID="Image1" runat="server" /><br />
    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </form>
</body>
</html>

3.2、Default.aspx.cs代码

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

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        /** 文件是否为空 **/
        bool fileIsValid = false;

        if (FileUpload1.HasFile)
        {
            /** 获取上传文件的后缀 **/
            string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
            string[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
            /** 断定文件类型是否合适请求 **/
            for (int i = 0; i < restrictExtension.Length; i++)
            {
                if (fileExtension == restrictExtension[i])
                {
                    fileIsValid = true;
                }
            }
        }
        /** 若是文件类型合适请求,调用SaveAs办法实现上传,并显示相干信息 **/
        if (fileIsValid == true)
        {
                try
                {
                    Image1.ImageUrl = "~/" + FileUpload1.FileName;
                    FileUpload1.SaveAs(Server.MapPath("~/") + FileUpload1.FileName);
                    Label1.Text="文件上传成功";
                    Label1.Text+="<br />";
                    Label1.Text+="<li>"+"原文件路径:"+FileUpload1.PostedFile.FileName;
                    Label1.Text+="<br />";
                    Label1.Text+="<li>"+"文件大小:"+FileUpload1.PostedFile.ContentLength+"字节";
                    Label1.Text+="<br />";
                    Label1.Text+="<li>"+"文件类型:"+FileUpload1.PostedFile.ContentType;
                }
                catch
                {
                    Label1.Text="文件上传成功";
                }
        }
        else
        {
            Label1.Text="只可以或许上传后缀为.gif,.jpg,.bmp,.png的文件夹";
        }
    }
}

3.3、upload.ashx代码

<%@ WebHandler Language="C#" Class="upload" %>

using System;
using System.Web;

using System.IO;
public class upload : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        UpLoadImage(context);
    }
    string serverpath = "";
    string savepath = "";
    private string json = "";
    public void UpLoadImage(HttpContext content)
    {
        try
        {
            if (content.Request.Files.Count > 0)
            {
                HttpPostedFile postedFile = content.Request.Files[0];
                serverpath = content.Server.MapPath("~/");
                savepath = serverpath + Path.GetFileName(postedFile.FileName);
                if (File.Exists(savepath))
                {
                    json = "{success:false,""msg"":""该图片已经存在!""}";
                }
                else
                {
                    postedFile.SaveAs(savepath);
                    json = "{success:true,""msg"":""上传成功!""}";
                }
            }
            else
            {
                json = "{success:false,""msg"":""获取文件异常!""}";
            }
        }
        catch (Exception ex)
        {
            json = "{success:false,""msg"":""" + ex.Message + "!""}";
        }
        content.Response.Write(json);
        content.Response.End();
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

四、结果演示

五、总结

上传方面斗劲写得斗劲简单些(还可以扩大一些文件上的存储),像一些博客揭晓文章、数据库存储(图片名称、接见路径)还有编辑本身头像等等,断定稍微有些错杂,不过花些时候应当也不会太难。

六、源代码供给

6.1、运行景象

体系:Win7

IDE对象:VS2008

版本:.net framework3.5

Extjs版本:Extjs 3.2.0

6.2、源代码

Asp.net上传文件Demo:http://files.cnblogs.com/yongfeng/Asp.net%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0Demo.rar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值