Imports System.Data Imports System.Data.SqlClient Imports System.IO Imports System Public Class scdj Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents Txt_zh As System.Web.UI.WebControls.TextBox Protected WithEvents Txt_mm As System.Web.UI.WebControls.TextBox Protected WithEvents Check1 As System.Web.UI.WebControls.CheckBox Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile Protected WithEvents Txt_mc As System.Web.UI.WebControls.TextBox Protected WithEvents Txt_sm As System.Web.UI.WebControls.TextBox Protected WithEvents Lab_ts1 As System.Web.UI.WebControls.Label Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Label3 As System.Web.UI.WebControls.Label Protected WithEvents Label5 As System.Web.UI.WebControls.Label Protected WithEvents Label6 As System.Web.UI.WebControls.Label Protected WithEvents Label7 As System.Web.UI.WebControls.Label Protected WithEvents Lab_ts As System.Web.UI.WebControls.Label Protected WithEvents Drop_lx As System.Web.UI.WebControls.DropDownList Protected WithEvents Drop_zlx As System.Web.UI.WebControls.DropDownList Protected WithEvents Label4 As System.Web.UI.WebControls.Label Protected WithEvents Cmd_qd As System.Web.UI.WebControls.Button Protected WithEvents Cmd_qx As System.Web.UI.WebControls.Button Protected WithEvents Txt_ly As System.Web.UI.WebControls.TextBox Protected WithEvents Txt_yt As System.Web.UI.WebControls.TextBox Protected WithEvents Lab_fh As System.Web.UI.WebControls.Label Protected WithEvents Label2 As System.Web.UI.WebControls.Label '注意: 以下占位符声明是 Web 窗体设计器所必需的。 '不要删除或移动它。 Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub#End Region Dim nowdsn As String = ConfigurationSettings.AppSettings("dsn") Dim MyConnection As SqlConnection = New SqlConnection(nowdsn) Public Yhid As Long Public Yhqx As Integer Public Ary_bd As ArrayList = New ArrayList '绑定控件的中间数组 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 Yhqx = 3 If Session("Yhqx") = 0 Then fh() Else Yhqx = CInt(Session("Yhqx")) Yhid = CLng(Session("Yhid")) End If If Not IsPostBack Then bind() End If End Sub '控件绑定 Sub bind() MyConnection.Open() Ary_bd.Add("") Dim Str As String Str = "Select T_Str_Lxmc From Tbl_Sclx" Dim My_js As SqlCommand = New SqlCommand(Str, MyConnection) Dim js As SqlDataReader = My_js.ExecuteReader While js.Read Ary_bd.Add(js.Item("T_Str_Lxmc")) End While Drop_lx.DataSource = Ary_bd '绑定项目名称 Drop_lx.DataBind() js.Close() Ary_bd.Clear() Ary_bd.Add("") Drop_zlx.DataSource = Ary_bd Drop_zlx.DataBind() Ary_bd.Clear() MyConnection.Close() End Sub '文件类型改变时触发 Private Sub Drop_lx_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Drop_lx.SelectedIndexChanged MyConnection.Open() Dim n As Integer n = 0 Dim lx = Drop_lx.SelectedItem.Text Dim Str_sql = "Select Tbl_Sczlx.T_Str_Zlxmc From Tbl_Sczlx,Tbl_Sclx Where Tbl_Sclx.T_Str_Lxmc=" & _ "'" & lx & "' and Tbl_Sclx.ID=Tbl_Sczlx.T_Int_Lxid" Dim My_js As SqlCommand = New SqlCommand(Str_sql, MyConnection) Dim js As SqlDataReader = My_js.ExecuteReader() While (js.Read) Ary_bd.Add(js.Item(0)) n = n + 1 End While Drop_zlx.DataSource = Ary_bd Drop_zlx.DataBind() Ary_bd.Clear() If n = 0 Then Ary_bd.Add("") Drop_zlx.DataSource = Ary_bd Drop_zlx.DataBind() Ary_bd.Clear() End If MyConnection.Close() End Sub 'Session变量失效时返回登陆页 Sub fh() Drop_lx.Visible = False Drop_zlx.Visible = False Txt_mc.Visible = False Txt_sm.Visible = False Txt_yt.Visible = False Txt_ly.Visible = False File1.Visible = False Cmd_qd.Visible = False Cmd_qx.Visible = False Label1.Visible = False Label2.Visible = False Label3.Visible = False Label4.Visible = False Label5.Visible = False Label6.Visible = False Label7.Visible = False Lab_ts1.Visible = True Lab_fh.Visible = True Lab_ts.Visible = False End Sub '控件置为空 Sub qx() Txt_ly.Text = "" Txt_yt.Text = "" Txt_mc.Text = "" Txt_sm.Text = "" Lab_ts.Text = "" End Sub Private Sub Cmd_qx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd_qx.Click bind() qx() End Sub '产生素材保存相应目录 Sub Makedir(ByVal Path As String) Dim MyPath, MyName As String MyPath = Path '设置路径 MyName = Dir(MyPath, FileAttribute.Directory) If MyName = "" Then MkDir(MyPath) End If End Sub '转换文件大小 Function Getfile(ByVal dx As String) Dim wjdx As String '文件大小 Dim ls As String Dim ls1, ls2 As Integer ls = dx ls1 = CInt(ls) \ 1024 ls2 = CInt(ls) Mod 1024 ls = CStr(ls1) & "." & Left(CStr(ls2), 2) If CInt(ls) < 1000 Then ls = ls & "KB" Return ls Else ls = CStr(ls1) ls1 = ls1 \ 1024 ls2 = (CInt(ls) - ls1 * 1024) Mod 1024 ls = CStr(ls1) & "." & Left(CStr(ls2), 2) & "MB" Return ls End If End Function '检查文件是否为压缩文件 Function CheckZip(ByVal s As String) As Boolean Dim Bln_b As Boolean Dim n, i As Integer Dim anyOf As String() = {"zip", "rar", "ZIP", "RAR", "Zip", "ZIp", "zIP", "ziP", "rAr", "rAR", "Rar", "RAr"} n = InStr(s, ".") s = Mid(s, n + 1) If n = 0 Then Bln_b = False Else For i = 0 To 11 If s = anyOf(i) Then Bln_b = True Exit For Else Bln_b = False End If Next End If Return Bln_b End Function '检查文件名是否合法 Function CheckName(ByVal s As String) As Boolean Dim b As Boolean b = True Dim anyOf As Char() = {"?", "/", "\\", "<", ">", ":", "*", "|", "\*"} If (s.IndexOfAny(anyOf) >= 0 Or s = "") Then b = False Else b = True End If Return b End Function
} return NewFileName; } //此方法将新文件名的日期+#除掉,显示原来的文件名,本例未调用 public string ViewRealName(string VitualName) { string RealName; int SignPos=VitualName.IndexOf("#"); RealName=VitualName.Substring(SignPos+1,VitualName.Length-SignPos-1); return RealName; } } }
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="MultiUpload.aspx.vb" Inherits="aspxWeb.MultiUpload" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>多文件上传</title> <script language="JavaScript"> function addFile() { var str = '<INPUT type="file" size="50" NAME="File">' document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str) } </script> </HEAD> <body> <form id="form1" method="post" runat="server" enctype="multipart/form-data"> <center> <asp:Label Runat="server" ID="MyTitle"></asp:Label> <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P> <P> <input type="button" value="增加(Add)" onclick="addFile()"> <asp:Button Runat="server" Text="上传" ID="Upload"></asp:Button> <input onclick="this.form.reset()" type="button" value="重置(ReSet)"> </P> </center> <P align="center"> <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label> </P> </form> </body> </HTML>后代码:MultiUpload.aspx.vbPublic Class MultiUpload Inherits System.Web.UI.Page Protected WithEvents Upload As System.Web.UI.WebControls.Button Protected WithEvents MyTitle As System.Web.UI.WebControls.Label Protected WithEvents strStatus As System.Web.UI.WebControls.Label #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MyTitle.Text = "<h3>多文件上传</h3>" Upload.Text = "开始上传" If (Me.IsPostBack) Then Me.SaveImages() End Sub Private Function SaveImages() As System.Boolean '遍历File表单元素 Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files '状态信息 Dim strMsg As New System.Text.StringBuilder("上传的文件分别是:<hr color=red>") Dim iFile As System.Int32 Try For iFile = 0 To files.Count - 1 '检查文件扩展名字 Dim postedFile As System.Web.HttpPostedFile = files(iFile) Dim fileName, fileExtension As System.String fileName = System.IO.Path.GetFileName(postedFile.FileName) If Not (fileName = String.Empty) Then fileExtension = System.IO.Path.GetExtension(fileName) strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>") strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>") strMsg.Append("上传文件的文件名:" + fileName + "<br>") strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>") '可根据扩展名字的不同保存到不同的文件夹 postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName) End If Next strStatus.Text = strMsg.ToString() Return True Catch Ex As System.Exception strStatus.Text = Ex.Message Return False End Try End Function End Class好帖子,收藏
服务端用一个asp或aspx程序来处理客户端post过去的xml数据包相关资料你查"stream"
http://www.csdn.net/develop/List_Article.asp
http://lszy.net/tm/ShowArticle.asp?ArticleID=1115
<HTML>
<HEAD>
<title>文件管理</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="../css/type.css" type="text/css" rel="stylesheet">
</HEAD>
<body leftMargin="1" topMargin="1" MS_POSITIONING="GridLayout" marginheight="1" marginwidth="1">
<form id="form1" runat="server">
<%if Yhqx=1 then%>
<!--#include file="..\include\ym1.aspx" -->
<%else if Yhqx=2 then%>
<!--#include file="..\include\ym2.aspx" -->
<%else if Yhqx=3%>
<!--#include file="..\include\ym.aspx" -->
<%end if%>
<table cellSpacing="0" cellPadding="0" width="777" border="0" align="center">
<tr>
<td vAlign="top" width="10" background="..\images/bj.jpg" rowSpan="2"> </td>
<td vAlign="top" width="757" height="390">
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td width="110" height="16"> </td>
<td width="540"> </td>
<td width="107"> </td>
</tr>
<tr>
<td height="344"> </td>
<td vAlign="top">
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<!--DWLayoutTable-->
<tr>
<TD width="540" height="9"></TD>
</tr>
<tr>
<TD height="329" vAlign="top">
<TABLE borderColor="#000000" cellSpacing="0" cellPadding="0" width="100%" border="1">
<tr>
<td vAlign="top" width="536" height="326"><table cellSpacing="0" cellPadding="0" width="100%" bgColor="#f0f0f0" border="0">
<!--DWLayoutTable-->
<tr>
<td height="29" colspan="2" align="center" vAlign="bottom"><FONT face="宋体">
<asp:label id="Lab_ts" runat="server" Font-Size="14px" ForeColor="Red"></asp:label>
</FONT>
</td>
<td width="1"></td>
</tr>
<tr>
<td height="35" colspan="2" align="center" vAlign="middle"><asp:label id="Label1" runat="server">文件类型:</asp:label>
<asp:dropdownlist id="Drop_lx" runat="server" Width="120px" Height="20px" AutoPostBack="True"></asp:dropdownlist>
<asp:label id="Label3" runat="server">文件子类型:</asp:label>
<asp:dropdownlist id="Drop_zlx" runat="server" Width="120px" Height="20px"></asp:dropdownlist></td>
<td></td>
</tr>
<tr>
<td height="40" colspan="2" align="center" vAlign="middle" style="HEIGHT: 40px">
<asp:label id="Lab_ts1" runat="server" Font-Size="14px" ForeColor="Red" Visible="False">变量失效请返回登陆页重新登陆</asp:label>
<asp:label id="Label5" runat="server">上传文件:</asp:label>
<INPUT id="File1" style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; WIDTH: 325px; BORDER-BOTTOM: gray 1px solid; HEIGHT: 22px"
type="file" size="31" name="File1" runat="server"></td>
<td></td>
</tr>
<tr>
<td height="34" colspan="2" align="center" vAlign="middle"><A href="..\index.aspx" target="_top">
<asp:label id="Lab_fh" runat="server" ForeColor="Red" Font-Size="12px" Visible="False">【
返回 】</asp:label></A>
<asp:label id="Label6" runat="server">文件名称:</asp:label>
<asp:textbox id="Txt_mc" runat="server" Height="20px" Width="325px" BorderWidth="1px" BorderColor="Gray"
MaxLength="50"></asp:textbox>
</td>
<td></td>
</tr>
<tr>
<td height="34" colspan="2" align="center" vAlign="middle">
<asp:label id="Label2" runat="server">文件来源:</asp:label>
<asp:textbox id="Txt_ly" runat="server" Height="20px" Width="325px" MaxLength="50" BorderColor="Gray"
BorderWidth="1px"></asp:textbox>
</td>
<td></td>
</tr>
<tr>
<td height="34" colspan="2" align="center" vAlign="middle">
<asp:label id="Label4" runat="server">文件用途:</asp:label>
<asp:textbox id="Txt_yt" runat="server" Height="20px" Width="325px" MaxLength="50" BorderColor="Gray"
BorderWidth="1px"></asp:textbox></td>
<td></td>
</tr>
<tr>
<td height="76" colspan="2" align="center" vAlign="middle"><FONT face="宋体">
<asp:label id="Label7" runat="server" Height="32px">详细说明:</asp:label>
<asp:textbox id="Txt_sm" runat="server" Height="60px" Width="325px" BorderWidth="1px" BorderColor="Gray"
BackColor="White" TextMode="MultiLine"></asp:textbox>
</FONT>
</td>
<td></td>
</tr>
<tr>
<td height="34" colspan="2" align="center" vAlign="middle"><FONT face="宋体">
<asp:button id="Cmd_qd" runat="server" Width="40px" Height="20px" BorderColor="Silver" BackColor="White"
Text="确 定" Font-Size="12px"></asp:button>
<asp:button id="Cmd_qx" runat="server" Width="40px" Height="20px" BorderColor="Silver" BackColor="White"
Text="取 消" Font-Size="12px"></asp:button>
</FONT>
</td>
<td></td>
</tr>
<tr>
<td width="1" height="16"></td>
<td colspan="2" vAlign="top"> </td>
</tr>
<tr>
<td height="1"></td>
<td width="534"></td>
<td></td>
</tr>
</table>
</td>
</tr>
</TABLE>
</TD>
</tr>
</table>
</td>
<td> </td>
</tr>
<tr>
<td height="30"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</td>
<td vAlign="top" width="10" background="..\images/bj.jpg" rowSpan="2"> </td>
</tr>
<tr>
<td vAlign="top" height="10">
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td width="757" background="..\images/bj.jpg" height="10"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</HTML>
Imports System.Data.SqlClient
Imports System.IO
Imports System
Public Class scdj
Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub
Protected WithEvents Txt_zh As System.Web.UI.WebControls.TextBox
Protected WithEvents Txt_mm As System.Web.UI.WebControls.TextBox
Protected WithEvents Check1 As System.Web.UI.WebControls.CheckBox
Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents Txt_mc As System.Web.UI.WebControls.TextBox
Protected WithEvents Txt_sm As System.Web.UI.WebControls.TextBox
Protected WithEvents Lab_ts1 As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents Label5 As System.Web.UI.WebControls.Label
Protected WithEvents Label6 As System.Web.UI.WebControls.Label
Protected WithEvents Label7 As System.Web.UI.WebControls.Label
Protected WithEvents Lab_ts As System.Web.UI.WebControls.Label
Protected WithEvents Drop_lx As System.Web.UI.WebControls.DropDownList
Protected WithEvents Drop_zlx As System.Web.UI.WebControls.DropDownList
Protected WithEvents Label4 As System.Web.UI.WebControls.Label
Protected WithEvents Cmd_qd As System.Web.UI.WebControls.Button
Protected WithEvents Cmd_qx As System.Web.UI.WebControls.Button
Protected WithEvents Txt_ly As System.Web.UI.WebControls.TextBox
Protected WithEvents Txt_yt As System.Web.UI.WebControls.TextBox
Protected WithEvents Lab_fh As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Dim nowdsn As String = ConfigurationSettings.AppSettings("dsn")
Dim MyConnection As SqlConnection = New SqlConnection(nowdsn)
Public Yhid As Long
Public Yhqx As Integer
Public Ary_bd As ArrayList = New ArrayList '绑定控件的中间数组
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Yhqx = 3
If Session("Yhqx") = 0 Then
fh()
Else
Yhqx = CInt(Session("Yhqx"))
Yhid = CLng(Session("Yhid"))
End If
If Not IsPostBack Then bind() End If End Sub '控件绑定
Sub bind() MyConnection.Open() Ary_bd.Add("")
Dim Str As String
Str = "Select T_Str_Lxmc From Tbl_Sclx"
Dim My_js As SqlCommand = New SqlCommand(Str, MyConnection)
Dim js As SqlDataReader = My_js.ExecuteReader
While js.Read
Ary_bd.Add(js.Item("T_Str_Lxmc"))
End While
Drop_lx.DataSource = Ary_bd '绑定项目名称
Drop_lx.DataBind()
js.Close()
Ary_bd.Clear()
Ary_bd.Add("")
Drop_zlx.DataSource = Ary_bd
Drop_zlx.DataBind()
Ary_bd.Clear()
MyConnection.Close() End Sub '文件类型改变时触发
Private Sub Drop_lx_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Drop_lx.SelectedIndexChanged MyConnection.Open()
Dim n As Integer
n = 0
Dim lx = Drop_lx.SelectedItem.Text
Dim Str_sql = "Select Tbl_Sczlx.T_Str_Zlxmc From Tbl_Sczlx,Tbl_Sclx Where Tbl_Sclx.T_Str_Lxmc=" & _
"'" & lx & "' and Tbl_Sclx.ID=Tbl_Sczlx.T_Int_Lxid"
Dim My_js As SqlCommand = New SqlCommand(Str_sql, MyConnection)
Dim js As SqlDataReader = My_js.ExecuteReader()
While (js.Read)
Ary_bd.Add(js.Item(0))
n = n + 1
End While
Drop_zlx.DataSource = Ary_bd
Drop_zlx.DataBind()
Ary_bd.Clear()
If n = 0 Then
Ary_bd.Add("")
Drop_zlx.DataSource = Ary_bd
Drop_zlx.DataBind()
Ary_bd.Clear()
End If
MyConnection.Close() End Sub 'Session变量失效时返回登陆页
Sub fh() Drop_lx.Visible = False
Drop_zlx.Visible = False
Txt_mc.Visible = False
Txt_sm.Visible = False
Txt_yt.Visible = False
Txt_ly.Visible = False
File1.Visible = False
Cmd_qd.Visible = False
Cmd_qx.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
Label7.Visible = False
Lab_ts1.Visible = True
Lab_fh.Visible = True
Lab_ts.Visible = False End Sub '控件置为空
Sub qx() Txt_ly.Text = ""
Txt_yt.Text = ""
Txt_mc.Text = ""
Txt_sm.Text = ""
Lab_ts.Text = "" End Sub Private Sub Cmd_qx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd_qx.Click
bind()
qx()
End Sub '产生素材保存相应目录
Sub Makedir(ByVal Path As String) Dim MyPath, MyName As String MyPath = Path '设置路径
MyName = Dir(MyPath, FileAttribute.Directory)
If MyName = "" Then
MkDir(MyPath)
End If End Sub '转换文件大小
Function Getfile(ByVal dx As String) Dim wjdx As String '文件大小
Dim ls As String
Dim ls1, ls2 As Integer
ls = dx
ls1 = CInt(ls) \ 1024
ls2 = CInt(ls) Mod 1024
ls = CStr(ls1) & "." & Left(CStr(ls2), 2)
If CInt(ls) < 1000 Then
ls = ls & "KB"
Return ls
Else
ls = CStr(ls1)
ls1 = ls1 \ 1024
ls2 = (CInt(ls) - ls1 * 1024) Mod 1024
ls = CStr(ls1) & "." & Left(CStr(ls2), 2) & "MB"
Return ls
End If End Function '检查文件是否为压缩文件
Function CheckZip(ByVal s As String) As Boolean Dim Bln_b As Boolean
Dim n, i As Integer
Dim anyOf As String() = {"zip", "rar", "ZIP", "RAR", "Zip", "ZIp", "zIP", "ziP", "rAr", "rAR", "Rar", "RAr"}
n = InStr(s, ".")
s = Mid(s, n + 1)
If n = 0 Then
Bln_b = False
Else
For i = 0 To 11
If s = anyOf(i) Then
Bln_b = True
Exit For
Else
Bln_b = False
End If
Next
End If
Return Bln_b End Function '检查文件名是否合法
Function CheckName(ByVal s As String) As Boolean Dim b As Boolean
b = True
Dim anyOf As Char() = {"?", "/", "\\", "<", ">", ":", "*", "|", "\*"}
If (s.IndexOfAny(anyOf) >= 0 Or s = "") Then
b = False
Else
b = True
End If
Return b End Function
在form 里添加encType="multipart/form-data"
<form id="AddSpecialBill" method="post" encType="multipart/form-data" runat="server">
<FORM id="form1" method="post" enctype="multipart/form-data" runat="server">
<INPUT id="News_Annex" type="file" name="News_Annex" runat="server">
--------------------------
.cs文件
//CommonClass类
CommonClass m_CC=new CommonClass ();
//返回文件名
m_file=m_CC.UploadFile(News_Annex);
-------------------------
CommonClass.cs文件using System;
using System.Web.UI.HtmlControls;
namespace news
{
public class CommonClass:System.Web.UI.Page
{
public CommonClass()
{}
//上传文件,并将选中的文件文件名改为改为日期+#+文件名形式,同时返回新文件名
public string UploadFile(HtmlInputFile temp)
{
string NewFileName="";
if(temp.PostedFile!=null)
{
int index=temp.PostedFile .FileName .LastIndexOf ("\\");
if(index==-1)
Response.Write("sdfsdf");
else
{
int len=temp.PostedFile.FileName.Length;
string OldFileName=temp.PostedFile .FileName.Substring (index+1,len-index-1);
//将文件名改为日期+#+文件名形式
NewFileName=DateTime.Now.ToShortDateString ()+"#"+OldFileName;
try
{
temp.PostedFile .SaveAs (Server.MapPath ("files\\"+NewFileName));
}
catch(Exception)
{
Response.Write("error");
}
}
}
return NewFileName;
}
//此方法将新文件名的日期+#除掉,显示原来的文件名,本例未调用
public string ViewRealName(string VitualName)
{
string RealName;
int SignPos=VitualName.IndexOf("#");
RealName=VitualName.Substring(SignPos+1,VitualName.Length-SignPos-1);
return RealName;
}
}
}
Inherits="aspxWeb.MultiUpload" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>多文件上传</title>
<script language="JavaScript">
function addFile()
{
var str = '<INPUT type="file" size="50" NAME="File">'
document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
}
</script>
</HEAD>
<body>
<form id="form1" method="post" runat="server" enctype="multipart/form-data">
<center>
<asp:Label Runat="server" ID="MyTitle"></asp:Label>
<P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
<P>
<input type="button" value="增加(Add)" onclick="addFile()">
<asp:Button Runat="server" Text="上传" ID="Upload"></asp:Button>
<input onclick="this.form.reset()" type="button" value="重置(ReSet)">
</P>
</center>
<P align="center">
<asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True"
Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
</P>
</form>
</body>
</HTML>后代码:MultiUpload.aspx.vbPublic Class MultiUpload
Inherits System.Web.UI.Page
Protected WithEvents Upload As System.Web.UI.WebControls.Button
Protected WithEvents MyTitle As System.Web.UI.WebControls.Label
Protected WithEvents strStatus As System.Web.UI.WebControls.Label
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MyTitle.Text = "<h3>多文件上传</h3>"
Upload.Text = "开始上传"
If (Me.IsPostBack) Then Me.SaveImages()
End Sub
Private Function SaveImages() As System.Boolean
'遍历File表单元素
Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files
'状态信息
Dim strMsg As New System.Text.StringBuilder("上传的文件分别是:<hr color=red>")
Dim iFile As System.Int32
Try
For iFile = 0 To files.Count - 1
'检查文件扩展名字
Dim postedFile As System.Web.HttpPostedFile = files(iFile)
Dim fileName, fileExtension As System.String
fileName = System.IO.Path.GetFileName(postedFile.FileName)
If Not (fileName = String.Empty) Then
fileExtension = System.IO.Path.GetExtension(fileName)
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>")
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>")
strMsg.Append("上传文件的文件名:" + fileName + "<br>")
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>")
'可根据扩展名字的不同保存到不同的文件夹
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName)
End If
Next
strStatus.Text = strMsg.ToString()
Return True
Catch Ex As System.Exception
strStatus.Text = Ex.Message
Return False
End Try
End Function
End Class好帖子,收藏
<%@ page Language="C#" debug="true" %>
<html>
<head>
<title>上传文件 , http://www.chinabs.net </title>
<script language="C#" runat="server">
//This method is called when the "upload" button id pressed
public void UploadFile(object sender , EventArgs E)
{
//检查上传文件不为空
if(myFile.PostedFile!=null)
{
string nam = myFile.PostedFile.FileName ;
//取得文件名(抱括路径)里最后一个"."的索引
int i= nam.LastIndexOf(".");
//取得文件扩展名
string newext =nam.Substring(i);
//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
DateTime now = DateTime.Now;
string newname=now.DayOfYear.ToString()+myFile.PostedFile.ContentLength.ToString();
//保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
//注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替
myFile.PostedFile.SaveAs(Server.MapPath("\\upload\\"+newname+newext));
//得到这个文件的相关属性:文件名,文件类型,文件大小
fname.Text=myFile.PostedFile.FileName;
fenc.Text=myFile.PostedFile.ContentType ;
fsize.Text=myFile.PostedFile.ContentLength.ToString();
}
}</script>
</head>
<body>
<center>
<h3> 文件上传的实例, 来自<a href="http://www.chinabs.net">中国BS网</a></h3>
<form id="uploderform" method="post" action="FileUpload.aspx" enctype="multipart/form-data" runat="server" >
<table border="1" cellspacing="2" cellpadding="2" >
<tr> <td><h5>选择要上传的文件:</h5></td</tr>
<tr>
<td>
<input type="file" id="myFile" runat="server" NAME="myFile">
</td>
</tr>
<tr><td>
<input type="button" value="上 传" OnServerClick="UploadFile" runat="server" ID="Button1" NAME="Button1">
</td></tr>
</table>
</form>
<br>
<br>
<table border="1" cellspacing="2">
<tr><td><b>文件资料</b></td>
<td> </td>
</tr>
<tr>
<td>文件名 :</td>
<td><asp:label id="fname" text="" runat="server" /></td></tr>
<tr>
<td>文件类型 :</td>
<td><asp:label id="fenc" runat="server" /></td></tr>
<tr>
<td>文件大小 :(in bytes)</td>
<td><asp:label id="fsize" runat="server" /></td></tr>
</table>
<br>
<br>
<br>
</center>
</body>
</html>