##須先將資料存到主機的電腦上,才能讀取該檔資料
## 注意要讀CLIENT的資料,要先從CLIENT將資料存到SERVER,再使用STREAMREADER的指令,
##注意該存取的目錄要開ASP.NET 的權限
#####################################################################
'檢查是否有檔案 Dim fileAllow As Boolean = False
'設定允許上載的延伸檔名類型
Dim allowExtensions() As String = {".txt", ".doc"}
'取得網站根目錄路徑
Dim path As String = HttpContext.Current.Request.MapPath("~/")
'檢查是否有檔案
If FileUpload1.HasFile Then
'取得上載檔案之延伸檔名,並轉換成小寫字母
Dim fileExtension As String
= System.IO.Path.GetExtension(FileUpload1.FileName).ToLower()
'檢查延伸檔名是否符合限定類型
For I As Integer = 0 To allowExtensions.Length - 1
If (fileExtension = allowExtensions(I)) Then
fileAllow = True
Exit For
End If
Next
If Not fileAllow Then
txtMsg.Text = ViewState("Uploads") & "不允許上載:"
& FileUpload1.PostedFile.FileName & "
"
Exit Sub
End If
Try
'取得網站根目錄路徑
'儲存檔案到磁碟
FileUpload1.SaveAs(path & FileUpload1.FileName)
txtMsg.Text = "檔案名稱:" & FileUpload1.PostedFile.FileName & "
"
txtMsg.Text += "檔案大小:" & FileUpload1.PostedFile.ContentLength & " Bytes
"
txtMsg.Text += "檔案型態:" & FileUpload1.PostedFile.ContentType & "
"
Catch ex As Exception
txtMsg.Text = ex.Message.ToString()
End Try
Else
txtMsg.Text = "必須指定檔案!"
End If
**開始讀出一筆一筆的資料**
LBUpLoad.Items.Clear()
Dim reader As StreamReader
上傳檔中沒中文字用這個就可以
reader = New StreamReader(FileUpload1.PostedFile.FileName)
上傳資料中有中文
reader = New StreamReader(FileUpload1.PostedFile.FileName,
System.Text.Encoding.Default)
Try
While (reader.Peek() -1)
每寫一個readline(),就會讀出一筆資料
'LBUpLoad.Items.Add(Reader.ReadLine())
strReader = Reader.ReadLine()
'檢核資料,並透過TABLE秀在畫面上
checkdata(strReader)
定義一個ListBox放一筆一筆的資料,到時就直接寫入db即可
LBUpLoad.Items.Add(strReader)
End While
Catch
LBUpLoad.Items.Add("File is empty")
Finally
reader.Close()
End Try
txtMsg.Text += "資料筆數:" & LBUpLoad.Items.Count & "
"
#####################################################################
### FUNCTION checkdata ### 請參考【提供user上傳檔案,更新資料 II】#
#####################################################################