image

文件上传的实例  其实使用的是asp的上传控件

1.前台加上asp上传控件

<asp:FileUpload ID="FileUpLoad1" runat="server" Height="25px" /> 

 

2.上传的时候写入方法,

a,如果是Coolite 方法的话

<ext:Button ID="Button_tj" runat="server" Text="添加">
                 <Listeners>
                   <Click Handler="Coolite.AjaxMethods.Button_add();" />
                 </Listeners>
               </ext:Button>

b,如果是asp方法的话

<asp:Button ID="btnFileUpload" runat="server"  
        OnClick="btnFileUpload_Click" Text="文件上传" 
        OnClientClick="return checkType()" />

3.前台js 验证代码

   function checkType(){
    //得到上传文件的值
    var fileName=document.getElementById("FileUpLoad1").value;
    //返回String对象中子字符串最后出现的位置.
    var seat=fileName.lastIndexOf(".");
    //返回位于String对象中指定位置的子字符串并转换为小写.
    var extension=fileName.substring(seat).toLowerCase();
    //判断允许上传的文件格式
    //if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".jpg"&&extension!=".bmp"){
    //alert("不支持"+extension+"文件的上传!");
    //return false;
    //}else{
    //return true;
    //}
//    var allowed=[".jpg",".gif",".jpg",".bmp",".jpeg"];
//    for(var i=0;i<allowed.length;i++){
//        if(!(allowed[i]!=extension)){
//            return true;
//        }
//    }
//    alert("不支持"+extension+"格式");
//    return false;
      return true;
  }

 

4.后台处理方法:

a.如果是coolite方法的话

[AjaxMethod]
public void Button_add()
{

     btnFileUpload_Click();

    // TODU 以下处理其他的一些语句

public void btnFileUpload_Click()
  {

      if (FileUpLoad1.HasFile)
      {
          //判断文件是否小于10Mb
          if (FileUpLoad1.PostedFile.ContentLength < 10485760)
          {
              try
              {
                  //上传文件并指定上传目录的路径
                  FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/uploads/")
                      + FileUpLoad1.FileName);
                  /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
                  * 而是:FileUpLoad1.FileName?
                  * 前者是获得客户端完整限定(客户端完整路径)名称
                  * 后者FileUpLoad1.FileName只获得文件名.
                  */

                  //当然上传语句也可以这样写(貌似废话):
                  //FileUpLoad1.SaveAs(@"D:"+FileUpLoad1.FileName);

                 //lblMessage.Text = "上传成功!";
                  file_name = "~/uploads/" + FileUpLoad1.FileName;
                  file_Length = Convert.ToString(this.FileUpLoad1.FileContent.Length == null ? 0 : this.FileUpLoad1.FileContent.Length)+"字节";
                  Ext.Msg.Alert("提示","上传成功!").Show();
              }
              catch (Exception ex)
              {
                  //lblMessage.Text = "出现异常,无法上传!";
                  //lblMessage.Text += ex.Message;
                  Ext.Msg.Alert("提示", "出现异常,无法上传!").Show();
              }

          }
          else
          {
              //lblMessage.Text = "上传文件不能大于10MB!";
              Ext.Msg.Alert("提示", "上传文件不能大于10MB!").Show();
          }
      }
      else
      {
         // lblMessage.Text = "尚未选择文件!";
          Ext.Msg.Alert("提示", "尚未选择文件!").Show();
      }
  }

 

b.如果是直接asp后台方法的话

protected void btnFileUpload_Click(object sender, EventArgs e)
  {

      if (FileUpLoad1.HasFile)
      {
          //判断文件是否小于10Mb
          if (FileUpLoad1.PostedFile.ContentLength < 10485760)
          {
              try
              {
                  //上传文件并指定上传目录的路径
                  FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/uploads/")
                      + FileUpLoad1.FileName);
                  /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
                  * 而是:FileUpLoad1.FileName?
                  * 前者是获得客户端完整限定(客户端完整路径)名称
                  * 后者FileUpLoad1.FileName只获得文件名.
                  */

                  //当然上传语句也可以这样写(貌似废话):
                  //FileUpLoad1.SaveAs(@"D:"+FileUpLoad1.FileName);

                 //lblMessage.Text = "上传成功!";
                  file_name = "~/uploads/" + FileUpLoad1.FileName;
                  file_Length = Convert.ToString(this.FileUpLoad1.FileContent.Length == null ? 0 : this.FileUpLoad1.FileContent.Length)+"字节";
                  Ext.Msg.Alert("提示","上传成功!").Show();
              }
              catch (Exception ex)
              {
                  //lblMessage.Text = "出现异常,无法上传!";
                  //lblMessage.Text += ex.Message;
                  Ext.Msg.Alert("提示", "出现异常,无法上传!").Show();
              }

          }
          else
          {
              //lblMessage.Text = "上传文件不能大于10MB!";
              Ext.Msg.Alert("提示", "上传文件不能大于10MB!").Show();
          }
      }
      else
      {
         // lblMessage.Text = "尚未选择文件!";
          Ext.Msg.Alert("提示", "尚未选择文件!").Show();
      }
  }

 

ps:自己看代码吧,以上程序使用了coolite的后台库