簡體   English   中英

ASPxUploadControl-在服務器端獲取上傳的文件

[英]ASPxUploadControl - get uploaded file on the server-side

我在頁面中使用了幾個ASPxUploadControl 我使用FileUploadComplete事件的e.UploadedFile參數成功獲取了上傳的文件並保存了它們。

但是我希望在保存主實體后能夠訪問(並保存)它們。 原因是我需要將它們保存在一個文件夾中,該文件夾的名稱將是我實體的ID。

有什么辦法可以在my C#代碼中的任何我想做的地方執行myUploadControl.TheFileItIsCarrying嗎?

我嘗試了myUploadControl.UploadedFiles[0] ,但是它將返回沒有內容的文件。

PS1:我想將它們保存在一個臨時文件夾中,然后再移動到正確的文件夾中。 但是在那種情況下,如果幾個客戶端同時上傳,我將不知道每個文件是誰的。

PS2:該場景就像保存多個Party實體以及其身份證件,簡歷等的掃描副本。

如果您實際上是將上載的文件保存到服務器,則可以先保存上載的文件,然后您應該可以對文件進行任何操作,我不知道您是否實際保存了文件,但這可能是正在發生的問題。

 If FileUpload1.HasFile Then
        Try
            Dim realPhysicalPath As String = Path.Combine(Server.MapPath("~\Files\"), FileUpload1.PostedFile.FileName)
            FileUpload1.PostedFile.SaveAs(realPhysicalPath)

            Label1.Text = "File name: " & _
               FileUpload1.PostedFile.FileName & "<br>" & _
               "File Size: " & _
               FileUpload1.PostedFile.ContentLength & " kb<br>" & _
               "Content type: " & _
               FileUpload1.PostedFile.ContentType
        Catch ex As Exception
            Label1.Text = "ERROR: " & ex.Message.ToString()
        End Try
    Else
        Label1.Text = "You have not specified a file."
    End If

然后您可以從服務器中提取該特定文件,我的示例是將所有保存的上傳文件分配給GridView

 Dim filePaths() As String = Directory.GetFiles(Server.MapPath("~/Files/"))
        Dim files As List(Of ListItem) = New List(Of ListItem)
        For Each filePath As String In filePaths

            files.Add(New ListItem(Path.GetFileName(filePath)))
        Next
        Dim hplnk As New HyperLinkField()

        hplnk.DataTextField = "test"
        hplnk.Text = "test"
        hplnk.HeaderText = "yourHeaderTextValue"

        GridView1.DataSource = files



        GridView1.DataBind()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM