ASPxUploadControl-在服务器端获取上传的文件

本文关键字:文件 获取 服务器端 ASPxUploadControl- | 更新日期: 2023-09-27 17:59:13

我在页面中使用了几个ASPxUploadControl。我使用FileUploadComplete事件的e.UploadedFile参数成功地获取了上传的文件并保存了它们。

但我希望能够在保存我的主要实体后访问(并保存)它们。原因是我需要将它们保存在一个文件夹中,该文件夹的名称将是我的实体ID。

有没有一种方法可以让我在C#代码中做一些类似myUploadControl.TheFileItIsCarrying的事情?

我尝试了myUploadControl.UploadedFiles[0],但它将返回一个没有内容的文件。

p.S.1:我想把它们保存在一个临时文件夹里,然后移到正确的文件夹。但在这种情况下,如果几个客户端同时上传,我将不知道每个文件是谁的。

p.S.2:该场景类似于保存多个Party实体及其身份文件、简历等的扫描副本。

ASPxUploadControl-在服务器端获取上传的文件

如果你真的要把上传的文件保存到服务器上,你可以先保存上传的文件,然后你应该可以对文件做任何你想做的事情,我不知道你是否真的在保存它,但这可能是正在发生的问题。

 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()