Mare7 Ответов: 1

Как отличить файл от 2-х различных элементов управления загрузкой файлов


Привет,

В настоящее время я разрабатываю веб-приложение vb. Один из них-загрузка изображения в галерею в БД. У меня есть два разных элемента управления FileUpload: FileUpload1 и FileUpload2.

FileUpload1 предназначен для обложки альбома (изображение)
FileUpload2 предназначен для изображений в альбоме (multi image)

Оба изображения из FileUpload1 и FileUpload2 будут храниться в той же таблице, за исключением того, что FileUpload1 будет иметь дополнительный флаг, который определит, является ли изображение в таблице обложкой альбома или нет

Ниже приведен мой текущий код для fileUpload2. Он прекрасно работает. Однако у меня есть проблемы с этим дифференцируйте изображение, из которого файл загружает контроль, чтобы я мог поставить флаг

Что я уже пробовал:

Dim hfc As HttpFileCollection = Request.Files
        Dim imagePath As String = FileUpload2.PostedFile.FileName
        Dim imagesize As String
        Dim imagename As String = Path.GetFileName(imagePath)
        Dim ext As String
        Dim contenttype As String = String.Empty

        Try
            For i As Integer = 0 To hfc.Count - 1

                Dim hpf As HttpPostedFile = hfc(i)

                ext = Path.GetExtension(hpf.FileName)
                imagesize = hpf.ContentLength

                If hpf.ContentLength > 0 Then
                    'Set the contenttype based on File Extension
                    Select Case ext
                        Case ".jpg"
                            contenttype = "jpeg"
                            Exit Select
                        Case ".jpeg"
                            contenttype = "jpeg"
                            Exit Select
                        Case ".png"
                            contenttype = "png"
                            Exit Select
                    End Select

                    If contenttype <> String.Empty Then
                        Dim fs As Stream = hpf.InputStream
                        Dim br As New BinaryReader(fs)
                        Dim bytes As Byte() = br.ReadBytes(fs.Length)

                        ViewState("imageName") = hpf.FileName
                        ViewState("imageType") = contenttype
                        ViewState("imageContent") = bytes
                        ViewState("imageLength") = imagesize
                        insertData()
                    Else
                        lblMsg.ForeColor = System.Drawing.Color.Red
                        lblMsg.Text = "Photo extension " & ext & " is not accepted."
                    End If
                End If
            Next i

1 Ответов

Рейтинг:
1

Ralf Meier

Я полагаю (не уверен), что вы все время работаете с глобальными переменными.
Я также предполагаю, что вы вызываете (или хотите вызвать) метод "insertData" либо из FileUpload1, либо из FileUpload2.
Так... Я предлагаю вам подумать о работе с параметризованными вызовами методов. Это позволит вам "подсказать" вызываемому методу действовать по-разному.
Возможно, вы переосмыслили свой стиль программирования ...