Я говорю вам, что я хочу сделать.В asp.net VB я пытаюсь прочитать несколько файлов XML и те же файлы, сохраненные в SQL Server, с помощью одного элемента управления загрузкой файлов (свойство allowmultiple).Значения XML я храню в таблице данных, и после прочтения XML я сохраняю в таблице данных двоичные файлы.Эти данные я храню в viewstate, на случай, если перед отправкой данных на SQL Server я хочу их отредактировать.Подробности в том, что я могу сделать, чтобы заполнить таблицу данными значениями XML, а также сохранить двоичные файлы, но не оба одновременно.Например, если я сначала пытаюсь прочитать xml и сохранить его в таблице данных, он не сохраняет двоичные файлы, но если я пытаюсь сохранить двоичный файл и затем прочитать xml, он не возвращает мне прочитанные значения.У меня есть сомнения и пробовал несколько методов, таких как преобразование строки из двоичного в строку, сохранение всей структуры XML и затем экспортировать ее со стороны клиента.Но я не знаю, связано ли это с состоянием объекта "fileuploead.postedfiles", может быть, мне нужно сериализовать коллекцию файлов или что вы рекомендуете?Если вы можете направить меня или посоветовать мне.Спасибо вам всем.Я делюсь кодом.
Мой контроль загрузки файлов
<asp:FileUpload runat="server" ID="fuMulXMLPDF" accept="application/pdf | application/xml" AllowMultiple="true"/>
Моя функция для заполнения данных чтением xml и двоичных файлов
For Each upFile As HttpPostedFile In fuMulXMLPDF.PostedFiles
PRUEBA(upFile)
Next
Деталь PRUEBAфункция
Public Sub PRUEBA(ByVal posted As HttpPostedFile)
Dim teibol As New DataTable
Dim panda As New Panda()
dt = ViewState("XML")
Dim filas As DataRow = dt.NewRow
filas("X_FILENAME") = posted.FileName.ToString
filas("X_BINARYFILE") = ReadFile(posted)
'MsgBox(ReadFile(posted).Length)
filas("X_MIME") = posted.ContentType
filas("X_SIZE") = posted.ContentLength.ToString
filas("P_FILENAME") = posted.FileName.ToString
filas("P_MIME") = posted.ContentType
filas("P_SIZE") = posted.ContentLength.ToString
teibol = panda.MenImTheMachoLikeRandy(posted.InputStream)
For Each row As DataRow In teibol.Rows
filas("FECHA") = row("FECHA").ToString
filas("SUBTOTAL") = row("SUBTOTAL").ToString
filas("TOTAL") = row("TOTAL").ToString
filas("COMENTARIOS") = txtComments.Text
Next
ViewState("XML") = grid.Insert(GridView1,DirectCast(ViewState("XML"),DataTable), filas)
RecargaGrid1()
End Sub
Деталь ReadFile Функция
Private Function ReadFile(ByVal fObj2 As HttpPostedFile) As Byte()
Dim data() As Byte = New Byte((fObj2.ContentLength) - 1) {}
fObj2.InputStream.Read(data, 0, fObj2.ContentLength)
Return data
End Function
Я благодарю вас за ваше время