//用fileinput控件
If Trim(Me.txt_Name.Text) = "" Then
Response.Write("<script language=javascript>alert(' 请填写文件名称!');</script>")
Exit Sub
End If
If File1.PostedFile.FileName = "" Then
Response.Write("<script language=javascript>alert(' 请选择上传文件!');</script>")
Exit Sub
End If
Dim lstrFileName As String = File1.PostedFile.FileName
' 注: loFile.PostedFile.FileName 返回的是通过文件对话框选择的文件名,
'这之中包含了文件的目录信息()
Dim FileName As String = Path.GetFileName(lstrFileName)
' 去掉目录信息,返回文件名称
Dim lstrFileFolder As String = Server.MapPath("./") & "EnClS\"
If (Not Directory.Exists(lstrFileFolder)) Then
Directory.CreateDirectory(lstrFileFolder)
End If
Dim lstrFileNamePath As String = lstrFileFolder & Request.Params("Type") & "-" & Session("userid") & FileName
' 得到上传目录及文件名称
If File1.PostedFile.ContentLength > 4000000 Then
Response.Write("<script language=javascript>alert('上传文件过大!上传文件请不要大于4M!');</script>")
Exit Sub
End If
Try
File1.PostedFile.SaveAs(lstrFileNamePath)
'上传文件到服务器
Catch ex As Exception
End Try
If Trim(Me.txt_Name.Text) = "" Then
Response.Write("<script language=javascript>alert(' 请填写文件名称!');</script>")
Exit Sub
End If
If File1.PostedFile.FileName = "" Then
Response.Write("<script language=javascript>alert(' 请选择上传文件!');</script>")
Exit Sub
End If
Dim lstrFileName As String = File1.PostedFile.FileName
' 注: loFile.PostedFile.FileName 返回的是通过文件对话框选择的文件名,
'这之中包含了文件的目录信息()
Dim FileName As String = Path.GetFileName(lstrFileName)
' 去掉目录信息,返回文件名称
Dim lstrFileFolder As String = Server.MapPath("./") & "EnClS\"
If (Not Directory.Exists(lstrFileFolder)) Then
Directory.CreateDirectory(lstrFileFolder)
End If
Dim lstrFileNamePath As String = lstrFileFolder & Request.Params("Type") & "-" & Session("userid") & FileName
' 得到上传目录及文件名称
If File1.PostedFile.ContentLength > 4000000 Then
Response.Write("<script language=javascript>alert('上传文件过大!上传文件请不要大于4M!');</script>")
Exit Sub
End If
Try
File1.PostedFile.SaveAs(lstrFileNamePath)
'上传文件到服务器
Catch ex As Exception
End Try
<FORM id="Form1" method="post" encType="multipart/form-data" runat="server">
<% @ Import Namespace="System.Data" %>
<script runat="server">
protected void upload(Object sender, EventArgs e)
{
string fileEXT = "";
int errorflag = 0;
if(upload_file.PostedFile == null)
{
Info.InnerHtml="请先选择一个文件再点上传。";
errorflag=1;
}
else
{
if(upload_file.PostedFile.FileName.Length > 0)
fileEXT = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.Length-3).ToLower();
if(fileEXT != "gif" && fileEXT != "jpg" && fileEXT != "zip" && fileEXT != "rar")
{
Info.InnerHtml="只接受 jpg,gif,zip,rar 四种格式。";
errorflag=1;
}
else
{
if(upload_file.PostedFile.ContentLength == 0)
{
Info.InnerHtml="您的文件为空或者你没选文件,请选择一个文件再点粘贴。";
errorflag=1;
}
else if(upload_file.PostedFile.ContentLength > 100000)
{
Info.InnerHtml="您的文件超过了100K,请选择一个文件再点粘贴。";
errorflag=1;
}
}
}
if(errorflag==0)
{
try
{
string path=Server.MapPath("UpFile");
string y=DateTime.Now.Year.ToString();
string m=DateTime.Now.Month.ToString();
string d=DateTime.Now.Day.ToString();
string h=DateTime.Now.Hour.ToString();
string n=DateTime.Now.Minute.ToString();
string s=DateTime.Now.Second.ToString();
string filename=y+m+d+h+n+s;
Random r=new Random();
filename=filename+r.Next(1000);
filename=filename+"."+upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.Length-3);
filename=path+"/"+filename;
upload_file.PostedFile.SaveAs(filename);
upload_file.Visible=false;
Button1.Visible=false;
Info.InnerHtml="成功上传一个文件点击 <a href=Upimages2.aspx>这儿</a> 继续上传";
Info.Visible=true;
}
catch
{
upload_file.Visible=false;
Button1.Visible=false;
Info.InnerHtml="对不起!上传失败请点击 <a href=Upimages2.aspx>这儿</a> 继续上传";
Info.Visible=true;
}
}
else
{
Info.Visible=true;
}
}
</script>
<HTML>
<HEAD>
<meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb2312">
<LINK href="forum.css" rel="stylesheet">
</HEAD>
<body leftmargin="5" topmargin="3">
<form id="Up" method="post" encType="multipart/form-data" runat="server">
<input id="upload_file" type="file" size="20" name="upload_file" EnableViewState="false" runat="server">
<asp:Button id="Button1" OnClick="upload" runat="server" Text="上传"></asp:Button>
<span runat="server" id="Info">类型:gif,jpg,zip,rar 限制为100k</span>
</form>
</body>
</HTML>
this.Request.Files[0].SaveAs(@"d:\ud\asdf.htm");
如果要上传一个目录,可能需要你重新写程序来实现。
原理是这样的,首先找到本地的文件或者目录名,
历遍所有文件,遇到文件夹,再历遍所有文件。。
然后把一个文件一个文件上传到服务器。按照本地找到文件夹一一建立,upload文件
1.不用ASP.NET的自带的工具.(它总要客户正确处理且有无穷的耐性)
2.服务器开通FTP服务.指定FTP根目录.(添加用户及权限)
3.用VB做出一个控件,它可以专门用来上传客户端文件到服务器上.
4.在ASP.NET中调用这个控件.
我自己就是这么做的,好的很.