none
FileUpload (Lista de arquivos) RRS feed

  • Pergunta

  • EU preciso adicionar uma lista de arquivos para uma pasta no momento eu consigo fazer umpload apenas de um arquivo, ainda não consegui achara um código para fazr upload de arquivos... podem me ajudar?? segue meu codigo em vb e asp

    Protected Sub saveFile()
    
            Dim caminhoDocumento As String = ""
    
            caminhoDocumento = "\documentos\" & txtCNPJ.Text
    
            If (fileUpload.HasFile = True) Then
    
                path = pastaOrigem & caminhoDocumento
    
                strFileName = fileUpload.FileName
                strExt = System.IO.Path.GetExtension(fileUpload.FileName).ToLower()
                intFileSyze = fileUpload.PostedFile.ContentLength
                strContentType = fileUpload.PostedFile.ContentType
    
                If (My.Computer.FileSystem.DirectoryExists(path) = False) Then
    
                    My.Computer.FileSystem.CreateDirectory(path)
    
                End If
    
                fileUpload.PostedFile.SaveAs(path & "\" & strFileName)
    
                insertDocumento(path)
    
            End If
    
        End Sub

    Private Sub insertDocumento(strPathDestino As String)
    
            Dim strConnection As String = ""
            Dim strSQL As String = ""
    
            strConnection = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("ApplicationServices").ConnectionString
    
            Using myConnection As New SqlConnection(strConnection)
    
                myConnection.Open()
    
                Try
    
                    strSQL = " SELECT * "
    
                    strSQL = strSQL &
                             " FROM tb_documento_contrato"
    
                    strSQL = strSQL &
                             " WHERE codigo_documento = '" & Trim(txtCNPJ.Text) & "'"
    
                    Dim myCommandSelect As New SqlCommand(strSQL, myConnection)
                    Dim myReader As SqlDataReader
    
                    myReader = myCommandSelect.ExecuteReader()
    
                    If myReader.HasRows Then
    
                        strSQL = " UPDATE tb_documento_contrato SET nome = '" & strFileName &
                             "', conteudo = '" & strPathDestino &
                             "', tamanho = '" & intFileSyze &
                             "', tipo = '" & strContentType & "'" &
                             " WHERE codigo_documento = '" & txtCNPJ.Text & "'"
    
                    Else
    
                        strSQL = " INSERT INTO tb_documento_contrato" &
                             " (" &
                             " codigo_documento, " &
                             " nome, " &
                             " conteudo, " &
                             " tamanho, " &
                             " tipo" &
                             " )"
    
                        strSQL = strSQL &
                                 " VALUES"
    
                        strSQL = strSQL &
                                 " ('" & txtCNPJ.Text & "'," &
                                 " '" & strFileName & "'," &
                                 " '" & strPathDestino & "'," &
                                 " " & intFileSyze & "," &
                                 " '" & strContentType & "'" &
                                 " )"
    
                    End If
    
                    myReader.Close()
    
                    Dim myCommandInsert As New SqlCommand(strSQL, myConnection)
    
                    myCommandInsert.ExecuteNonQuery()
    
                    myConnection.Close()
    
                Catch ex As Exception
    
                    lblMsg.Visible = True
                    lblMsg.Text = "Erro ao inserir documento: " & ex.Message
    
                End Try
    
            End Using
    
        End Sub

    <table style="padding: 6px; margin: 6px;" >
                <tr>
                    <td style="text-align: right; padding-right: 3px;">Cliente (CNPJ)*:</td>
                    <td><asp:TextBox runat="server" ID="txtCNPJ" Width=12em MaxLength=14></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px;">Cliente (CNPJ Filho):</td>
                    <td><asp:TextBox runat="server" ID="txtCnpjFilho" Width=12em MaxLength=14></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"">Nome:</td>
                    <td ><asp:TextBox runat="server" ID="txtNome" Width=24.6em MaxLength=50></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"">Número:</td>
                    <td ><asp:TextBox runat="server" ID="txtNumero" Width=6em MaxLength=20></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"">Estado:</td>
                    <td ><asp:TextBox runat="server" ID="txtEstado" Width=6em MaxLength=20 ></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"">Data de Abertura:</td>
                    <td ><asp:TextBox runat="server" ID="txtAbertura" Width=6em MaxLength=10></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"">Data de Validade:</td>
                    <td ><asp:TextBox runat="server" ID="txtValidade" Width=6em MaxLength=10></asp:TextBox></td>
                </tr>
                 <tr>
                    <td style="text-align: right; padding-right: 3px"">Resumo:</td>
                    <td ><asp:TextBox runat="server" ID="txtResumo" MaxLength=3000 Columns="500" Rows="6" TextMode="MultiLine" Height="55px" Width="250px"></asp:TextBox></td>
                </tr>
                <tr>
                    <td style="text-align: right; padding-right: 3px"" class="auto-style1">Observações:</td>
                    <td class="auto-style1" ><asp:TextBox runat="server" ID="txtObservacoes" MaxLength=3000 Columns="500" Rows="6" TextMode="MultiLine" Height="55px" Width="250px"></asp:TextBox></td>
                </tr>


                <tr>
                    <td style="text-align: right; padding-right: 3px"" class="auto-style1">Arquivos:</td>
                    <td>
                        <asp:FileUpload ID="fileUpload" runat="server" />
                    </td>
                </tr>


                <tr>
                    <td>&nbsp;</td>
                    <td ><asp:Button runat="server" ID="btBusca" text="Buscar" CssClass="btn btn-danger"></asp:Button>&nbsp;&nbsp;<asp:Button runat="server" ID="btLimpar" text="Limpar" CssClass="btn btn-danger"></asp:Button>&nbsp;&nbsp;<asp:Button runat="server" ID="btNovo" text="Novo" CssClass="btn btn-danger"></asp:Button></td>
                </tr>
                
                </table>



    • Editado Caio P Almeida segunda-feira, 19 de fevereiro de 2018 18:13 Erro de Identação
    segunda-feira, 19 de fevereiro de 2018 18:10

Respostas

  • Prezado Caio.

    Acho que encontrei a solução.

    Se te ajudou, por gentileza, marque como resposta.

    Para o teste 1 fileupload e button.

    A pasta uploaads está junto com o arquivo default.aspx

    No html a propriedade multiple:

    <asp:FileUpload ID="FileUpload1" Multiple="Multiple" runat="server" Width="650px" Height="21px" />

    No arquivo default.aspx.vb:

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
            Dim ImageFiles As HttpFileCollection = Request.Files
            Dim J As Integer = 0
    
            For I As Integer = 0 To ImageFiles.Count - 1
                Dim file As HttpPostedFile = ImageFiles(I)
                If ImageFiles(I).FileName <> "" Then
                    file.SaveAs(Server.MapPath("Uploads/") & ImageFiles(I).FileName)
                    J += 1
                End If
            Next
    
           
            If (Not ClientScript.IsStartupScriptRegistered("clientScript")) Then ClientScript.RegisterClientScriptBlock(Me.GetType(), "clientScript", "<script language=JavaScript>alert('" & J.ToString & " arquivos enviados.');</script>")
    
        End Sub



    MARIANO1776


    • Editado Mariano1776 quarta-feira, 21 de fevereiro de 2018 09:29
    • Sugerido como Resposta Mariano1776 sexta-feira, 23 de fevereiro de 2018 21:54
    • Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 14:07
    quarta-feira, 21 de fevereiro de 2018 01:16

Todas as Respostas

  • Bom dia, Caio P Almeida. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 20 de fevereiro de 2018 14:45
    Moderador
  • Boa tarde, 

    Eu preciso fazer o meu botão selecionar mais de um arquivo e fazer o upload ao clicar no botão upload ... 

    Desde já muito obrigado !

    terça-feira, 20 de fevereiro de 2018 15:22
  • Bom dia.

    O fileupload é muito limitado.

    Veja esta thread.

    https://social.msdn.microsoft.com/Forums/pt-BR/a85eda65-5064-4c2a-a0df-936c15807fc4/fileupload-de-varios-arquivos-usando-somente-um-componente?forum=aspnetpt

    Se te ajudou, por gentileza, marque como resposta/útil.


    MARIANO1776

    terça-feira, 20 de fevereiro de 2018 15:24
  • Estou utilizando vb.net ...


    terça-feira, 20 de fevereiro de 2018 15:35
  • Prezado Caio.

    Acho que encontrei a solução.

    Se te ajudou, por gentileza, marque como resposta.

    Para o teste 1 fileupload e button.

    A pasta uploaads está junto com o arquivo default.aspx

    No html a propriedade multiple:

    <asp:FileUpload ID="FileUpload1" Multiple="Multiple" runat="server" Width="650px" Height="21px" />

    No arquivo default.aspx.vb:

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
            Dim ImageFiles As HttpFileCollection = Request.Files
            Dim J As Integer = 0
    
            For I As Integer = 0 To ImageFiles.Count - 1
                Dim file As HttpPostedFile = ImageFiles(I)
                If ImageFiles(I).FileName <> "" Then
                    file.SaveAs(Server.MapPath("Uploads/") & ImageFiles(I).FileName)
                    J += 1
                End If
            Next
    
           
            If (Not ClientScript.IsStartupScriptRegistered("clientScript")) Then ClientScript.RegisterClientScriptBlock(Me.GetType(), "clientScript", "<script language=JavaScript>alert('" & J.ToString & " arquivos enviados.');</script>")
    
        End Sub



    MARIANO1776


    • Editado Mariano1776 quarta-feira, 21 de fevereiro de 2018 09:29
    • Sugerido como Resposta Mariano1776 sexta-feira, 23 de fevereiro de 2018 21:54
    • Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 14:07
    quarta-feira, 21 de fevereiro de 2018 01:16
  • Boa tarde.

    Resolveu seu problema?


    MARIANO1776

    sexta-feira, 23 de fevereiro de 2018 16:43
  • Bom dia,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 28 de fevereiro de 2018 14:08
    Moderador