• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

在线求助:多文件上传后改名问题!

523shan 2004-12-24 03:09:09
下面是孟老大的多文件上传程序,我想改成上传后自动改名,在代码
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName)
前面加了
Dim FileName111 As String = Path.GetFileName(fileName)
fileName = Now()
fileName = Replace(fileName, "-", "")
fileName = Replace(fileName, ":", "")
fileName = Replace(fileName, " ", "")
fileName = fileName
fileName = fileName & Strx & Right(Path.GetFileName(FileName111), Len(Path.GetFileName(FileName111)) - (InStr(Path.GetFileName(FileName111), ".")) + 1)

现在是按时间改名了,可是上传多个文件后,前面的文件就被后面的文件覆盖了,求各位大侠帮忙解决这个问题!谢谢!(问题解决立即送分,在线等)

孟老大多文件上传代码:
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


...全文
120 点赞 收藏 6
写回复
6 条回复
523shan 2004年12月24日
高手们过来看看啊
嫌分少我再加咯,还有20分
回复 点赞
523shan 2004年12月24日
上面代码写错了,应该是
Dim FileName111 As String = Path.GetFileName(fileName)
fileName = Now()
fileName = Replace(fileName, "-", "")
fileName = Replace(fileName, ":", "")
fileName = Replace(fileName, " ", "")
fileName = fileName & Right(Path.GetFileName(FileName111), Len(Path.GetFileName(FileName111)) - (InStr(Path.GetFileName(FileName111), ".")) + 1)

回复 点赞
523shan 2004年12月24日
Dim FileName111 As String = Path.GetFileName(fileName)
fileName = Now()
fileName = Replace(fileName, "-", "")
fileName = Replace(fileName, ":", "")
fileName = Replace(fileName, " ", "")
fileName = fileName
fileName = fileName & Strx & Right(Path.GetFileName(FileName111), Len(Path.GetFileName(FileName111)) - (InStr(Path.GetFileName(FileName111), ".")) + 1)

我加上上面的代码后文件名按时间改了,但问题是我同时上传多个文件时后面上传的就会覆盖前面上传的文件
回复 点赞
simon8181 2004年12月24日
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName)

改fileName,按照你想要的名字
回复 点赞
lanhai0859 2004年12月24日
其实你只要知道上传后文件保存的路径
然后用MOVE这个方法就可以重新命名了
回复 点赞
lanhai0859 2004年12月24日
思路
首先上传文件
然后找到文件的位置,
最后File.Move()这个是C#的
这个就可以改名字
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告