菜鸟请教:文件上传问题

rosebb 2003-09-10 11:28:23
在文件上传过程中,为防止上传的文件重名,怎么样对上传后的文件安自定义的方式重命名呢?
...全文
38 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xu0923 2003-09-10
  • 打赏
  • 举报
回复
if(this.File1.PostedFile.FileName!="")
{
string destPath="";
try
{
//取得上传文件在服务器存放的目录
string dir=Server.MapPath("../Photo");
if(!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
//取得上传文件的文件名(不包括路径)
string fileName=System.IO.Path.GetFileName(this.File1.PostedFile.FileName);
//合并路径和文件名
//重新命名文件
string strSave=dir+"/"+this.txtempid.Text + System.IO.Path.GetExtension(fileName);
this.File1.PostedFile.SaveAs(strSave);

}
catch(Exception err)
{
Response.Write(err.Message);

}
}
acewang 2003-09-10
  • 打赏
  • 举报
回复
取当前时间(精确到秒),把里面的空格和冒号去掉省得以后麻烦
mmiiaaoo 2003-09-10
  • 打赏
  • 举报
回复
<%@ Page Language="VB" Debug="true"%>
<%@ import namespace="System.IO" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<script language="VB" Runat="server">

'图片上传VB版
Private Sub SavePhoto(sender As object,e As EventArgs)

'取得所上传文件的长度
Dim LenStr As Int16
LenStr = photo.PostedFile.ContentLength

'取得上传图片的数据
Dim streamStr As Stream
streamStr = photo.PostedFile.InputStream

'设置缓冲区大小
Dim imageBytes(LenStr) As Byte

'写入文件数据
streamStr.Read(imageBytes,0,LenStr)

Dim conn As New SqlConnection("server=127.0.0.1;database=zdsw1;password=111111;user id=zdsw")

Dim cmd As New SqlCommand("insert into Upload (image) values (@image)",conn)

cmd.Parameters.Add("@title",title.Value)
cmd.Parameters.Add("@imageFile",imageBytes)

conn.Open()
cmd.ExecuteNonQuery()
Response.Write("成功")
conn.Close()
Response.End()

End Sub
</script>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>上传图片</title>
</head>

<body>
<form Runat="server" enctype="multipart/form-data" method="post" Name="upload">
<p>文件名称:<input type="text" ID="title" size="20" Runat="server"></p>
<p>图片路径:<input type="file" ID="photo" size="31" Runat="server"></p>
<p><input type="Button" ID="Sav" value="提交" OnServerclick="SavePhoto" Runat="server"><input type="reset" value="全部重写" name="B2"></p>
</form>
</body>

</html>
mmiiaaoo 2003-09-10
  • 打赏
  • 举报
回复
<%@ Page Language="VB" Debug="true"%>
<%@ import namespace="System.IO" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<script language="VB" Runat="server">

'图片上传VB版
Private Sub SavePhoto(sender As object,e As EventArgs)

'取得所上传文件的长度
Dim LenStr As Int16
LenStr = photo.PostedFile.ContentLength

'取得上传图片的数据
Dim streamStr As Stream
streamStr = photo.PostedFile.InputStream

'设置缓冲区大小
Dim imageBytes(LenStr) As Byte

'写入文件数据
streamStr.Read(imageBytes,0,LenStr)

Dim conn As New SqlConnection("server=127.0.0.1;database=zdsw1;password=111111;user id=zdsw")

Dim cmd As New SqlCommand("insert into Upload (image) values (@image)",conn)

cmd.Parameters.Add("@title",title.Value)
cmd.Parameters.Add("@imageFile",imageBytes)

conn.Open()
cmd.ExecuteNonQuery()
Response.Write("成功")
conn.Close()
Response.End()

End Sub
</script>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>上传图片</title>
</head>

<body>
<form Runat="server" enctype="multipart/form-data" method="post" Name="upload">
<p>文件名称:<input type="text" ID="title" size="20" Runat="server"></p>
<p>图片路径:<input type="file" ID="photo" size="31" Runat="server"></p>
<p><input type="Button" ID="Sav" value="提交" OnServerclick="SavePhoto" Runat="server"><input type="reset" value="全部重写" name="B2"></p>
</form>
</body>

</html>
mmiiaaoo 2003-09-10
  • 打赏
  • 举报
回复
Dim lenstr As Int32
lenstr = myfile.PostedFile.ContentLength
'取得上传图片的数据
Dim streamstr As Stream
streamstr = myfile.PostedFile.InputStream
'设置缓冲区的大小
Dim imagebytes(lenstr) As Byte
'写入数据
streamstr.Read(imagebytes, 0, lenstr)

If lenstr = 0 Then

mysql = "insert into gongqiu_table(xydl,xyzl,xinxileixing,text,content,cpname,cpgg,cpprice,cpshuliang,image,stand,cname,data) values ( '" + m + "','" + n + "','" + p + "','" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "',null,'" + Session("stand") + "','" + Session("cname") + "','" & System.DateTime.Now.ToShortDateString() & "')"

Dim cmd As New SqlCommand(mysql, conn)
'cmd.Parameters.Add("@imagefile", imagebytes)
cmd.ExecuteNonQuery()

Else

mysql = "insert into gongqiu_table(xydl,xyzl,xinxileixing,text,content,cpname,cpgg,cpprice,cpshuliang,image,stand,cname,data) values ( '" + m + "','" + n + "','" + p + "','" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "',@imagefile,'" + Session("stand") + "','" + Session("cname") + "','" & System.DateTime.Now.ToShortDateString() & "')"
Dim cmd As New SqlCommand(mysql, conn)
cmd.Parameters.Add("@imagefile", imagebytes)
cmd.ExecuteNonQuery()
End If
rosebb 2003-09-10
  • 打赏
  • 举报
回复
这只是在原文件名后加若干随机数,如果上传文件是中文名称,想把它改为英文名称,该如何做呢?
gxboy 2003-09-10
  • 打赏
  • 举报
回复
filename = 当然时间带秒数
asam2183 2003-09-10
  • 打赏
  • 举报
回复
fileUpLoad.PostedFile.SaveAs(filename+num)
速马 2003-09-10
  • 打赏
  • 举报
回复
嘿嘿,我以前也是用精确到妙的时间重命名的...
martin628 2003-09-10
  • 打赏
  • 举报
回复
string name=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString();
jrh9981 2003-09-10
  • 打赏
  • 举报
回复
结合现在的时间
uploadfile1.PostedFile.SaveAs(strBaseLocation+Now.DayOfYear.ToString()+uploadfile.PostedFile.ContentLength );
panyee 2003-09-10
  • 打赏
  • 举报
回复
System.Random rnd = new System.Random();
string strNewFileName = DateTime.Today.ToString() + rnd.NextDouble().ToString();

62,266

社区成员

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

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

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

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