(華版)

以前要在ASP里上载文件真的要写一大堆程序。。。比如说把文件分段转换成Base64然后才上载到服务器,而在服务器那边由要从Base64转会原本的byte值才可以分段写如文件中。但是在ASP.NET里就完全只需用一行代码加一个HtmlInputFile控件就能做完这些复杂的程序。

而要注意的就是紧记在包含HtmlInputFile控件的Form里多添加一个enctype的属性,enctype="multipart/form-data";然后再用HtmlInputFile控件里的PostedFile.SaveAs方法来上载文件就可以了。

  如何在ASP.NET里用HtmlInputFile控件来上载文件。

如何在ASP.NET里用HtmlInputFile控件来上载文件。<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
如何在ASP.NET里用HtmlInputFile控件来上载文件。  
如何在ASP.NET里用HtmlInputFile控件来上载文件。
</form>

如何在ASP.NET里用HtmlInputFile控件来上载文件。        '声明变量
如何在ASP.NET里用HtmlInputFile控件来上载文件。
        Dim filename As String
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Dim data() As String
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Try
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
'检查所选文件大小
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            If PostFileName.PostedFile.ContentLength = 0 Then
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'显示上载结果
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                Label3.Text = "上载失败!"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            Else
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'显示所选文件资料
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                Label2.Text = "文件大小:" & PostFileName.PostedFile.ContentLength & " bytes<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                Label2.Text = Label2.Text & "文件类型:" & PostFileName.PostedFile.ContentType & "<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                Label2.Text = Label2.Text & "文件名称:" & PostFileName.PostedFile.FileName & "<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。

如何在ASP.NET里用HtmlInputFile控件来上载文件。
                '读取文件名称
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                data = Split(PostFileName.PostedFile.FileName, "\")
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'上载文件到服务器
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                PostFileName.PostedFile.SaveAs(Server.MapPath("."& "\" & data(UBound(data)))
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'显示上载结果
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                With Label3
如何在ASP.NET里用HtmlInputFile控件来上载文件。                    .Text 
= "上载成功!"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    .ForeColor = Color.DarkGreen
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
End With
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
End If
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Catch ex As Exception
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
'显示错误讯息
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            With Label3
如何在ASP.NET里用HtmlInputFile控件来上载文件。                .Text 
= "Error: " & ex.Message
如何在ASP.NET里用HtmlInputFile控件来上载文件。                .ForeColor 
= Color.Red
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
End With
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
End Try

整体来说,最为麻烦的也不过是要从PostedFile.FileName里读取真整的文件名称(不包括括file path);不过这也大可用以下的简短代码来完成。

如何在ASP.NET里用HtmlInputFile控件来上载文件。'读取文件名称
如何在ASP.NET里用HtmlInputFile控件来上载文件。
data = Split(PostFileName.PostedFile.FileName, "\")
如何在ASP.NET里用HtmlInputFile控件来上载文件。
'文件名称
如何在ASP.NET里用HtmlInputFile控件来上载文件。
Debug.Print data(UBound(data))

如果要上载多个文件(为可更有效的重用代码),那可以用Request.File来读取每一个所选的文件名称;就如以下的代码。

如何在ASP.NET里用HtmlInputFile控件来上载文件。        '声明变量
如何在ASP.NET里用HtmlInputFile控件来上载文件。
        Dim lIndex As Integer
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Dim lCount As Integer
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Dim hpf As HttpPostedFile
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Dim filename As String
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Dim data() As String
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Try
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
'读取所有要上载文件的数目
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            lCount = Request.Files.Count
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
'读取每一个上载文件的资料
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            For lIndex = 0 To lCount - 1
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'读取第N个上载文件的资料
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                hpf = Request.Files(lIndex)
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'检查所选文件大小
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                If hpf.ContentLength = 0 Then
如何在ASP.NET里用HtmlInputFile控件来上载文件。                    
'显示所选文件资料
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    Label2.Text = Label2.Text & "<br>" & "文件大小:" & hpf.ContentLength & " bytes<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    Label2.Text = Label2.Text & "文件类型:" & hpf.ContentType & "<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    Label2.Text = Label2.Text & "文件名称:" & hpf.FileName & "<br>"
如何在ASP.NET里用HtmlInputFile控件来上载文件。

如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    '读取文件名称
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    data = Split(hpf.FileName, "\")
如何在ASP.NET里用HtmlInputFile控件来上载文件。                    
'上载文件到服务器
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    PostFileName.PostedFile.SaveAs(Server.MapPath("."& "\" & data(UBound(data)))
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。                    
'显示上载结果
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                    With Label3
如何在ASP.NET里用HtmlInputFile控件来上载文件。                        .Text 
= "上载成功!"
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                        .ForeColor = Color.DarkGreen
如何在ASP.NET里用HtmlInputFile控件来上载文件。                    
End With
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
End If
如何在ASP.NET里用HtmlInputFile控件来上载文件。
如何在ASP.NET里用HtmlInputFile控件来上载文件。                
'释放资源
如何在ASP.NET里用HtmlInputFile控件来上载文件。
                hpf = Nothing
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
Next
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
Catch ex As Exception
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
'显示错误讯息
如何在ASP.NET里用HtmlInputFile控件来上载文件。
            With Label3
如何在ASP.NET里用HtmlInputFile控件来上载文件。                .Text 
= "Error: " & ex.Message
如何在ASP.NET里用HtmlInputFile控件来上载文件。                .ForeColor 
= Color.Red
如何在ASP.NET里用HtmlInputFile控件来上载文件。            
End With
如何在ASP.NET里用HtmlInputFile控件来上载文件。        
End Try

點撃下載代碼

相关文章:

  • 2022-12-23
  • 2021-07-11
  • 2021-09-19
  • 2021-11-30
  • 2021-07-27
  • 2021-07-08
  • 2021-10-23
猜你喜欢
  • 2022-02-11
  • 2021-12-15
  • 2021-10-11
  • 2021-04-25
  • 2021-07-03
  • 2022-12-23
相关资源
相似解决方案