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

时间:2015-06-23 10:28:39

标签: c# asp.net file-upload devexpress

我在页面中使用了几个e.UploadedFile。我使用myUploadControl.TheFileItIsCarrying事件的myUploadControl.UploadedFiles[0]参数成功获取上传的文件并保存。

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

有没有办法可以在我的C#代码中执行Party之类的操作?

我尝试了myCellARRAY(all(cellfun(@isempty,myCellARRAY),2), : ) = []; ,但它会返回一个没有内容的文件。

P.S.1:我想将它们保存在一个临时文件夹中,然后移到右边的文件夹中。但在这种情况下,我不知道每个文件是否是多个客户端同时上传的文件。

P.S.2:场景就像保存了许多class User belongs_to :organization, inverse_of: :users validates_presence_of :organization_id, :unless => 'usertype==1' end class Organization has_many :users accepts_nested_attributes_for :users, :reject_if => :all_blank, :allow_destroy => true end 个实体以及身份证件,简历等的扫描副本一样。

1 个答案:

答案 0 :(得分:1)

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

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