首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > .NET 下实现无组件上传
【标  题】:.NET 下实现无组件上传
【关键字】:.NET
【来  源】:http://blog.csdn.net/genfeng/archive/2006/10/22/1345720.aspx

.NET 下实现无组件上传

原文地址:http://www.chuncui.cn/gege/blogview.asp?id=144&page=1

欢迎光临俺的小窝:http://www.chuncui.cn/

最近学习C#.NET的WEB编程,看了一些上传文件的例子,就动手写了一个东东,写的不好,见笑了!
项目共有两个文件:一个页面(index.aspx) + 一个类(tools.cs)
index.aspx的代码:

 

<%@ Page language="c#" Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="upfiles.index" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>index</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="0" align="center">
<TR align="center">
<TD colspan="2" style="HEIGHT: 30px">上传文件(仅支持:GIF/JPG/BMP)</TD>
</TR>
<TR>
<TD style="WIDTH: 204px; HEIGHT: 34px"><INPUT type="file" id="File1" name="File1" runat="server"></TD>
<TD style="HEIGHT: 34px" align="center">
<asp:Button id="BTN_upload" runat="server" Text="上传" Width="58px"></asp:Button></TD>
</TR>
<TR>
<TD colspan="2" align="center">
<asp:Label id="LBL_txt" runat="server" Width="285px" Height="32px">Label</asp:Label>
</TD>
</TR>
<TR align="center">
<TD colspan="2" style="HEIGHT: 30px">
<asp:Image id="Image1" runat="server" Width="150px" Height="200px"></asp:Image></TD>
</TR>
</TABLE>
</FONT>
</form>
</body>
</HTML>

只有三个组件:
Label LBL_txt; ----显示上传成功信息
HtmlInputFile File1; ----不用说了吧
Image Image1; ----显示上传的图片文件
Button BTN_upload; ----也不用说了吧

后台 index.aspx.cs代码:

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;

namespace upfiles
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label LBL_txt;
protected System.Web.UI.HtmlControls.HtmlInputFile File1;
protected System.Web.UI.WebControls.Image Image1;
protected System.Web.UI.WebControls.Button BTN_upload;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Page.IsPostBack!=true)
{
this.LBL_txt.Text="";
this.Image1.Visible=false;
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.BTN_upload.Click += new System.EventHandler(this.BTN_upload_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void BTN_upload_Click(object sender, System.EventArgs e)
{
//fullname为文件的全路径+名称
string fullname=this.File1.PostedFile.FileName.ToString();
tools filename=new tools();
//判断是否为空
int ifnull=filename.judgeifnull(fullname);
if(ifnull==1)
{
//生成随机数
string name=filename.upfile_name();
//type为文件的类型
string type=fullname.Substring(fullname.LastIndexOf("."));
int ifpic=filename.judgeifpic(type);
if(ifpic==1)
{
//上传
this.File1.PostedFile.SaveAs(Server.MapPath("upload")+"\\"+name+type);
this.Image1.ImageUrl="upload/"+name+type;
this.Image1.Visible=true;
this.LBL_txt.Text="文件"+fullname.Substring(fullname.LastIndexOf("\\")+1)+"上传成功!";
}
else
{
Response.Write("<script language='javascript'>alert('图片格式不正确!');</script>");
}
}
else if(ifnull==0)
{
Response.Write("<script language='javascript'>alert('没有选择任何文件!');</script>");
}
}
}
}

tool.cs 代码

using System;

namespace upfiles
{
/// <summary>
/// tools 的摘要说明。
/// </summary>
public class tools
{

//生成随机文件名的方法
public string upfile_name()
{
Random rm = new Random(System.Environment.TickCount);
return System.DateTime.Now.ToString("yyyyMMddhhmmss")+rm.Next(1000,9999).ToString();
}
//判断是否为空的方法
public int judgeifnull(string name)
{
if(name=="")
{
return 0;
}
else
{
return 1;
}
}
//限定为图片格式jpg、bmp、gif
public int judgeifpic(string type)
{
if(type.ToLower()==".jpg"||type.ToLower()==".gif"||type.ToLower()==".bmp")
{
return 1;
}
else
{
return 0;
}
}
}
}

呵呵,就这些啦,批评指正!!!
谢谢收看,下次再见!

NStarfaiNet 框架的使用示例(一):【上一篇】
TCP传输小数据包效率问题(译自MSDN):【下一篇】
【相关文章】
  • .NET 正则表达式
  • ASP.NET 中处理页面“回退”的方法
  • .NET vs Java
  • ASP.NET入门猜想
  • 【蛙蛙推荐】Lucene.net试用
  • ASP.NET(C#)和Sql2005组合性能问题研究
  • 技巧和诀窍:简单的ASP.NET 2.0 SQL提供器的源码和文档发布了
  • Asp.net短信管理设计
  • 各位大虾好!请问在ASP.NET2.0中如何调用GridView的自带的Edit事件(方法)急急!!!
  • 利用 AOP 实现 .NET 上完整的基于角色的访问控制(RBAC)模型
  • 【随机文章】
  • JSP标记符号
  • Linux procfs详解 (1)
  • 缺陷管理信息系统EoodaBMS V.1.2.0806
  • 第六节 SELECT语句中的表连接(join)
  • 又一个不错的BugTracker
  • Photoshop给美女照片校正颜色(2)
  • 3DS Max 7.0 PF Source粒子全攻略(18)
  • 《浮点仿真库的实现与VC6浮点库反汇编分析》之七 编写自己的浮点库
  • JSP论述和音乐店设计
  • Win32Asm快速教程(5)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.