高分求上传文件的源代码

Truly 2003-09-03 03:36:19
能够上传文件,并自动将文件名改名等
...全文
34 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
码视野 2003-09-04
  • 打赏
  • 举报
回复
<Script Language="c#" Runat="Server" >
public void DoUpload (Object src,EventArgs e)
{
int FileCount=Request.Files.Count;
String Uploadfilename;
String[] AFilename;
char[] de={'\\'};
for (int i=0;i<FileCount ;i++ )
{
HttpPostedFile hpf=Request.Files[i];
AFilename=hpf.FileName.Split(de);
Uploadfilename=AFilename[AFilename.Length-1];
hpf.SaveAs(Server.MapPath(".")+"\\"+Uploadfilename);
AddPanelControls(Uploadfilename);

}
}
public void AddPanelControls(String filename)
{
Label lblShow=new Label();
lblShow.Text=filename+"已经上传的文件<br/>";
Panel1.Controls.Add(lblShow);
}
</script>
<html>
<head>
<title>上传多个文件</title>
</head>
<body>
<b>上传多个文件</b>
<hr>
<form Enctype="multipart/form-data" runat="Server">
文件1:<input type="file" size=30 id="UploadFile1" runat="Server" value="2">
<br/>
文件2:<input type="file" size=30 id="UploadFile2" value="2" runat="server">
<br/>
文件3:<input type="file" size=30 id="UploadFile3" value="2" runat="server">
<br/>
文件4:<input type="file" size=30 id="UploadFile4" value="2" runat="server">
<br/>
文件5:<input type="file" size=30 id="UploadFile5" value="2" runat="server">
<br/>
<input type="submit" value="上传" onServerClick="DoUpload" runat="server">
<br/>
</form>
<hr>
<asp:Panel id="Panel1" runat="server"/>
</body>
</html>
<Script Language="c#" Runat="Server" >
public void DoUpload (Object src,EventArgs e)
{
int FileCount=Request.Files.Count;
String Uploadfilename;
String[] AFilename;
char[] de={'\\'};
for (int i=0;i<FileCount ;i++ )
{
HttpPostedFile hpf=Request.Files[i];
AFilename=hpf.FileName.Split(de);
Uploadfilename=AFilename[AFilename.Length-1];
hpf.SaveAs(Server.MapPath(".")+"\\"+Uploadfilename);
AddPanelControls(Uploadfilename);

}
}
public void AddPanelControls(String filename)
{
Label lblShow=new Label();
lblShow.Text=filename+"已经上传的文件<br/>";
Panel1.Controls.Add(lblShow);
}
</script>
<html>
<head>
<title>上传多个文件</title>
</head>
<body>
<b>上传多个文件</b>
<hr>
<form Enctype="multipart/form-data" runat="Server">
文件1:<input type="file" size=30 id="UploadFile1" runat="Server" value="2">
<br/>
文件2:<input type="file" size=30 id="UploadFile2" value="2" runat="server">
<br/>
文件3:<input type="file" size=30 id="UploadFile3" value="2" runat="server">
<br/>
文件4:<input type="file" size=30 id="UploadFile4" value="2" runat="server">
<br/>
文件5:<input type="file" size=30 id="UploadFile5" value="2" runat="server">
<br/>
<input type="submit" value="上传" onServerClick="DoUpload" runat="server">
<br/>
</form>
<hr>
<asp:Panel id="Panel1" runat="server"/>
</body>
</html>
Truly 2003-09-04
  • 打赏
  • 举报
回复
现在可以上传了,可是好像只能上传5兆以下的,大文件上传不了?????
yuyinghui 2003-09-04
  • 打赏
  • 举报
回复
<%@ Page language="c#" Codebehind="WebForm9.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.uploderform" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm9</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<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 MS_POSITIONING="GridLayout">
<h3>文档上传<hr>
</h3>
<form id="uploderform" method="post" action="upload.aspx" enctype="multipart/form-data" runat="server">
选择文件:<br>
<input type="file" id="myFile" runat="server"><br>
<input type="button" value="上传" runat="server" id="Button1" name="Button1"> <FONT face="宋体">
</FONT>
</form>
文件名称:
<asp:Label ID="fname" text="" Runat="server"></asp:Label><br>
文件类型:
<asp:Label ID="fenc" Runat="server"></asp:Label><br>
文件大小:
<td></td>
<asp:Label ID="fsize" Runat="server"></asp:Label><br>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data .SqlClient ;
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 WebApplication2
{
/// <summary>
/// WebForm9 的摘要说明。
/// </summary>
public class uploderform : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label fname;
protected System.Web.UI.WebControls.Label fenc;
protected System.Web.UI.WebControls.Label fsize;
protected System.Web.UI.HtmlControls.HtmlInputFile myFile;
protected System.Web.UI.HtmlControls.HtmlInputButton Button1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

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

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

}
#endregion

public void Button1_ServerClick(object sender, System.EventArgs e)
{
if(myFile.PostedFile !=null)
{
string nam=myFile.PostedFile .FileName ;
int i=nam.LastIndexOf ("\\");
string newnm=nam.Substring (i);
myFile.PostedFile .SaveAs(Server.MapPath (".") +"\\" + "picture"+newnm);
fname.Text =myFile.PostedFile .FileName ;
fenc.Text =myFile.PostedFile .ContentType ;
fsize.Text =myFile.PostedFile .ContentLength .ToString ();


string StrConn="server=localhost; uid=sa;pwd=;database=pictureupload";
string StrSql="insert into pictureload values('"+ newnm +"')";
SqlConnection CnSql=new SqlConnection(StrConn);
SqlCommand CmSql=new SqlCommand (StrSql,CnSql);
DataSet ds=new DataSet ();
CnSql.Open ();
CmSql.ExecuteReader ();
CnSql.Close ();
}
}
}
}
killprograme 2003-09-04
  • 打赏
  • 举报
回复
上面几位师哥说得太多,小弟来点明了的
1,首先在客户端脚本form出加 encType="multipart/form-data"
2,方一个html控件 file field 将其id改为Upfile
3,在放入一个服务器端textbox控件 id=filepath,在客户端脚本中写一个Upfile的change函数
<script language="javascript" id="clientEventHandlersJS">
<!--

function Upfile_onchange() {
window.Form1.elements['filepath'].value=window.Form1.elements['Upfile'].value
}

//-->
</script>
4,上传文件代码如下
private string SavePostFile()
{
int dot,line;
string FilePath,FileExp,FileName;
FilePath=filepath.Text.Trim();
if(FilePath!="")
{
dot = FilePath.LastIndexOf(".");// 取得文件名(抱括路径)里最后一个"."的索引
line= FilePath.LastIndexOf("\\");// 取得文件名(抱括路径)里最后一个"\"的索引
FileExp = FilePath.Substring(dot) ;//取得文件扩展名
FileName=FilePath.Substring(line+1,(dot-line-1));//取得文件名
this.ViewState.Add("FileName",FileName+FileExp);
string Path=Server.MapPath(@"").Substring(0,22)+"\\ManageFile\\"+FileName+FileExp;
if(File.Exists(Path))
return "存在";
Upfile.PostedFile.SaveAs(Path);
if(Upfile.PostedFile.ContentLength==0)
{
File.Delete(Path);
return "失败";
}
return Path;
}
return "";
}
kfdxxf 2003-09-04
  • 打赏
  • 举报
回复
Private Sub UPFILE()
Dim lstrFileName As String
Dim lstrFileNamePath As String
Dim lstrFileFolder As String
Dim allfiles As HttpPostedFile
Dim i As Integer

Dim folder As String = Now.Year().ToString + Now.Month.ToString
lstrFileFolder = Server.MapPath("fj") + "\" + folder

' 判断上传目录是否存在,不存在就建立
If (Not Directory.Exists(lstrFileFolder)) Then
Directory.CreateDirectory(lstrFileFolder)
End If

For i = 0 To Request.Files.Count - 1
allfiles = Request.Files(i)

' 获得文件名称
lstrFileName = allfiles.FileName
' 注:File.PostedFile.FileName 返回的是通过文件对话框选择的文件名(, 这之中包含了文件的目录信息)
lstrFileName = Path.GetFileName(lstrFileName)
' 去掉目录信息,返回文件名称

'上传文件到服务器
lstrFileNamePath = lstrFileFolder & lstrFileName
' 得到上传目录及文件名称
allfiles.SaveAs(lstrFileFolder + "\" + lstrFileName)
Dim wjlj As String = lstrFileFolder + "\" + lstrFileName
'调用邮件序号
yjxh()
'把记录插入附件表
If lstrFileName <> "" Then
Dim c_a As New class_data()
Dim sqltext1 As String = "INSERT INTO T_YJFJB (V_YJBSH ,V_FJMC,v_fjxh ) VALUES ('" & num1 & "','" & lstrFileName & "','" & num2 & "')"
Response.Write(sqltext1)
Dim zt2 As String = c_a.operation(sqltext1)
'Response.Write(zt)
End If
Next

End Sub

'保存到草稿夹
Private Sub btn2_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.ServerClick
wjj = "草稿夹"
add()


Dim sqltext2 As String = "INSERT INTO T_DZYJKZB(V_DZYJBSH ,V_SJRBS ,V_WJJ ,V_ZT ,V_NR ,V_FJR ,V_CS ,V_CSJB,V_FSRQ ) VALUES('" & num1 & "','" & tbx2.Text & "','" & wjj & "','" & tbx3.Text & "','" & tbx1.Text & "','" & xm & "','" & tbx4.Text & "','1','" & Now() & "')"
Dim c_a As New class_data()
Response.Write(sqltext2)
Dim zt3 As String = c_a.operation(sqltext2)
If zt3 = "ok" Then
Response.Write("<script>alert('保存成功')</script>")
Else
Response.Write("<script>alert('保存失败')</script>")
Response.Write(zt)
End If

End Sub
pcuser 2003-09-03
  • 打赏
  • 举报
回复
文件框File1.PostFile.SaveAs(文件路径及文件名)
daou101 2003-09-03
  • 打赏
  • 举报
回复
UP
_甲壳虫 2003-09-03
  • 打赏
  • 举报
回复
可利用服务器控件<input type=file runat=server id="file1">,然后再服务器端处理上传的文件。如调用file1的postedfile属性中的一些值
jvhmr 2003-09-03
  • 打赏
  • 举报
回复
偶是用vb.net做的

jh-22@163.com
sharplee82 2003-09-03
  • 打赏
  • 举报
回复

CheckPerson.SelectedItem.Text指下拉框中选择要存放的服务器目录
asam2183 2003-09-03
  • 打赏
  • 举报
回复
C#:
if(fileUpLoad.PostedFile.ContentLength==0)
return false;
string sFileName= fileUpLoad.PostedFile.FileName ;
//文件名
sFileName =Path.GetFileName(sFileName);
//保存路径
string scFileName_Old=Path.GetFileNameWithoutExtension(sFileName);
string sDirFile=Server.MapPath(".")+System.Configuration.ConfigurationSettings.AppSettings["FTPDir"].ToString();

if(!Directory.Exists(sDirFile))
Directory.CreateDirectory(sDirFile);
string sFileNameNew=sFileName;
sFileNameNew=scFileName_Old+sNewID+Path.GetExtension(sFileName).ToString();
fileUpLoad.PostedFile.SaveAs(sDirFile+sFileNameNew) ;
//判断文件是否上传成功
if (!File.Exists(sDirFile+sFileNameNew))
return false;
sharplee82 2003-09-03
  • 打赏
  • 举报
回复
.aspx中
<INPUT style="Z-INDEX: 100; LEFT: 254px; WIDTH: 404px; POSITION: absolute; TOP: 61px; HEIGHT: 22px" type="file" runat="server" id="myfile" size="48">

.aspx.vb中
Private postfile As String
postfile = myfile.Value '获取文件名步骤一
Dim tempfilename() As String = Split(postfile, "\") '获取文件名步骤二
Dim lastfilename As String = tempfilename(tempfilename.Length - 1) '获取文件名步骤三
Dim directory As System.IO.Directory
Dim file As System.IO.File
If directory.Exists(MapPath("/upload/" & CheckPerson.SelectedItem.Text)) Then
file.Copy(myfile.Value, MapPath("/upload/" & CheckPerson.SelectedItem.Text & "/" & lastfilename))
Else
directory.CreateDirectory(MapPath("/upload/" & CheckPerson.SelectedItem.Text))
file.Copy(myfile.Value, MapPath("/upload/" & CheckPerson.SelectedItem.Text & "/" & lastfilename))
End If
Response.Write("<script>alert('上传成功!');</script>")
chnking 2003-09-03
  • 打赏
  • 举报
回复
aspx文件:
<%@ Page language="c#" Codebehind="FileUpDown.aspx.cs" AutoEventWireup="false" Inherits="test.WebForm3" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm3</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="StyleSheet1.css" type="text/css" rel="stylesheet">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="WebForm3" method="post" encType="multipart/form-data" runat="server">
<FONT face="宋体">
<asp:button id="Button1" style="Z-INDEX: 101; LEFT: 58px; POSITION: absolute; TOP: 205px" runat="server" Text="上传"></asp:button>
<INPUT id="File1" style="Z-INDEX: 102; LEFT: 53px; POSITION: absolute; TOP: 23px" type="file" name="File1" runat="server">
<asp:label id="Label1" style="Z-INDEX: 103; LEFT: 52px; POSITION: absolute; TOP: 63px" runat="server" Height="93px" Width="537px" CssClass="kent"></asp:label><asp:button id="Button2" style="Z-INDEX: 104; LEFT: 140px; POSITION: absolute; TOP: 205px" runat="server" Text="下载txt"></asp:button></FONT></form>
</body>
</HTML>

aspx.cs文件:
private void Button1_Click(object sender, System.EventArgs e)
{
if(File1.PostedFile.ContentLength != 0)
{
StringBuilder myStr = new StringBuilder();
myStr.Append("文件名称:" + File1.PostedFile.FileName);
myStr.Append("<br>");
myStr.Append("文件类型:" + File1.PostedFile.ContentType);
myStr.Append("<br>");
myStr.Append("文件长度:" + File1.PostedFile.ContentLength.ToString());
myStr.Append("<br>");

string path = Server.MapPath("./");
string fileName = File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf('\\')+1);
path += fileName;
if(File.Exists(path) == true)
{
Label1.Text = "服务器上已经有了你正在上传的文件:" + fileName;
return;
}
File1.PostedFile.SaveAs(path);

myStr.Append("保存完毕!");
myStr.Append("<br>");
Label1.Text = myStr.ToString();
}
else
{
Label1.Text = "你没有选择要上载的文件或者上传的文件长度为0!";
}
}
cyp503 2003-09-03
  • 打赏
  • 举报
回复


see:

http://www.csdn.net/Develop/article/20%5C20135.shtm

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧