''' <summary> ''' 保存文件集合 ''' </summary> ''' <param name="Folder">基础文件夹名称</param> ''' <param name="AddAppUrl">加上应用程序目录</param> ''' <res> ''' ''' </res> Public Function SaveFiles(ByVal Folder As String, Optional ByVal AddAppUrl As Boolean = True) As String Try If AddAppUrl Then Folder = GetAppPath() & Folder If My.Computer.FileSystem.DirectoryExists(Folder) = False Then My.Computer.FileSystem.CreateDirectory(Folder) End If Dim Files As System.Web.HttpFileCollection = Me.GetFiles Dim postedFile As System.Web.HttpPostedFile Dim FilePath As String, II As Integer Dim FileList As String = "" For II = 0 To Files.Count - 1 postedFile = Files(II) If postedFile.FileName <> "" Then FilePath = GetFileName(GetLine(Folder) & System.IO.Path.GetFileName(postedFile.FileName)) postedFile.SaveAs(FilePath) FileList = FileList & System.IO.Path.GetFileName(FilePath) & "," End If Next Return FileList Catch ex As Exception Throw New System.Exception(ex.Message) End Try End Function
实际上就是将 Dim Files As System.Web.HttpFileCollection = Me.GetFiles Dim postedFile As System.Web.HttpPostedFile上传的文件集合遍历后保存而已;和保存单个文件没有太大差异; ││博客空间:http://blog.csdn.net/lovingkiss ││资源下载:http://download.csdn.net/user/lovingkiss ││Email:loving-kiss@163.com [MSN也是这个] ││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵...... ╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤
C# for (int i = 0; i < Request.Files.Count; i++) { Request.Files[i].SaveAs(Server.MapPath("***")); }VB For II = 0 To Files.Count - 1 postedFile = Files(II) If postedFile.FileName <> "" Then FilePath = GetFileName(GetLine(Folder) & System.IO.Path.GetFileName(postedFile.FileName)) postedFile.SaveAs(FilePath) FileList = FileList & System.IO.Path.GetFileName(FilePath) & "," End If Next 楼上的都有答案了的——不是我们不懂你的意思,是你基础太薄弱了; 集合的遍历,每次出来的就是不同的文件名称; For的执行体内: postedFile = Files(II) 获得第II个文件 postedFile.FileName 当前处理的文件名 你组合一下路径,然后保存就是了;咨询问题——不要回答者还没恼,你先不耐烦;这不是好的方式;
''' 保存文件集合
''' </summary>
''' <param name="Folder">基础文件夹名称</param>
''' <param name="AddAppUrl">加上应用程序目录</param>
''' <res>
'''
''' </res>
Public Function SaveFiles(ByVal Folder As String, Optional ByVal AddAppUrl As Boolean = True) As String
Try
If AddAppUrl Then Folder = GetAppPath() & Folder
If My.Computer.FileSystem.DirectoryExists(Folder) = False Then
My.Computer.FileSystem.CreateDirectory(Folder)
End If
Dim Files As System.Web.HttpFileCollection = Me.GetFiles
Dim postedFile As System.Web.HttpPostedFile
Dim FilePath As String, II As Integer
Dim FileList As String = ""
For II = 0 To Files.Count - 1
postedFile = Files(II)
If postedFile.FileName <> "" Then
FilePath = GetFileName(GetLine(Folder) & System.IO.Path.GetFileName(postedFile.FileName))
postedFile.SaveAs(FilePath)
FileList = FileList & System.IO.Path.GetFileName(FilePath) & ","
End If
Next
Return FileList
Catch ex As Exception
Throw New System.Exception(ex.Message)
End Try
End Function
Dim Files As System.Web.HttpFileCollection = Me.GetFiles
Dim postedFile As System.Web.HttpPostedFile上传的文件集合遍历后保存而已;和保存单个文件没有太大差异;
││博客空间:http://blog.csdn.net/lovingkiss
││资源下载:http://download.csdn.net/user/lovingkiss
││Email:loving-kiss@163.com [MSN也是这个]
││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......
╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤
1.如果你页面中没有服务端upload控件,请在Page_Load中注册form的enctype(如果有服务端upload控件,会自动注册的)
protected void Page_Load(object sender, EventArgs e)
{
this.form1.Enctype = "multipart/form-data";
}
2.上传文件的代码
protected void Button1_Click(object sender, EventArgs e)
{
//核心是使用Request.Files方法
for (int i = 0; i < Request.Files.Count; i++)
{
Request.Files[i].SaveAs(Server.MapPath("***"));
}
}
然后再循环下,页面上的form要加enctype="multipart/form-data"
这样会提示拒绝存取路径
for (int i = 0; i < Request.Files.Count; i++)
{
Request.Files[i].SaveAs(Server.MapPath("***"));
}VB
For II = 0 To Files.Count - 1
postedFile = Files(II)
If postedFile.FileName <> "" Then
FilePath = GetFileName(GetLine(Folder) & System.IO.Path.GetFileName(postedFile.FileName))
postedFile.SaveAs(FilePath)
FileList = FileList & System.IO.Path.GetFileName(FilePath) & ","
End If
Next
楼上的都有答案了的——不是我们不懂你的意思,是你基础太薄弱了;
集合的遍历,每次出来的就是不同的文件名称;
For的执行体内:
postedFile = Files(II) 获得第II个文件
postedFile.FileName 当前处理的文件名
你组合一下路径,然后保存就是了;咨询问题——不要回答者还没恼,你先不耐烦;这不是好的方式;
你自己也要用心的研究一下才行;
││博客空间:http://blog.csdn.net/lovingkiss
││资源下载:http://download.csdn.net/user/lovingkiss
││Email:loving-kiss@163.com [MSN也是这个]
││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......
╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < Request.Files.Count; i++)
{
string UserPath = Server.MapPath("upload").ToString() ;
//如果文件夹不存在则创建
if (!System.IO.Directory.Exists(UserPath))
{
System.IO.Directory.CreateDirectory(UserPath);
} string fileName2 = System.IO.Path.GetFileName(Request.Files[i].FileName);
//Response.Write(UserPath + "\\" + fileName2); Request.Files[i].SaveAs(UserPath + "\\" + fileName2);
} string fileName2 = System.IO.Path.GetFileName(Request.Files[i].FileName);这句才是最重点的,
我还是不知道怎样获取 name=cPub"+i+" 的name
如果是那么name="+i+" 就这样Request.Files[i]
如果name=cPub"+i+" 呢?