none
Download de diversas imagem e Destino RRS feed

  • Pergunta

  • Estou desenvolvendo um site em ASP.NET e VB.NET. Necessito de duas rotinas que estou com dificuldade de montar.

    O usuário fará a opção de baixar varias imagens.jpg em um gridview com checkbox. O grid já está montado com os respectivos checkbox e funcionando.

    Minha dúvida é:

    1) Como o usuário informará o destino que será gravado tais imagens e como eu obtenho essa informação?

    2) Como colocar o download dentro de um loop para gravar todas as imagens escolhidas no computador local do usuário no endereço fornecido por ele?

    Antecipadamente sou grato.

    sexta-feira, 14 de agosto de 2015 17:34

Respostas

  • Boa tarde Manoel,

    1. Utilize o código abaixo para criar uma pasta para o cliente, e com essa informação você gera um alert para ele dizendo que onde está salvando seus arquivos
    System.IO.Directory.CreateDirectory("c:/cliente");

      2. Seguindo este exemplo você consegue incorporar o checkbox e um loop para baixar todas:

    @model IList<MvcDownUpload.Models.UploadFileResult> 
    @{ ViewBag.Title = "Index"; } 
    
    <h2>Index</h2> 
    <p> 
    
    @Html.ActionLink("Importar Novo", "Upload") 
    
    </p> <table> <tr> <th> Codigo </th> <th> Nome </th> <th></th> </tr>
     @foreach (var item in Model) { 
    	<tr> <td> 
    		@Html.DisplayFor(modelItem => item.IDArquivo) 
    	</td> <td> 
    		@Html.DisplayFor(modelItem => item.Nome) 
    	</td> <td>
    		 @Html.ActionLink("Download", "Download", new { id = item.IDArquivo }) </td> </tr></table>
    

    Atenciosamente, Roberto Alves

    • Marcado como Resposta Marcos SJ sexta-feira, 14 de agosto de 2015 20:27
    sexta-feira, 14 de agosto de 2015 20:18

Todas as Respostas

  • Boa tarde Manoel,

    1. Utilize o código abaixo para criar uma pasta para o cliente, e com essa informação você gera um alert para ele dizendo que onde está salvando seus arquivos
    System.IO.Directory.CreateDirectory("c:/cliente");

      2. Seguindo este exemplo você consegue incorporar o checkbox e um loop para baixar todas:

    @model IList<MvcDownUpload.Models.UploadFileResult> 
    @{ ViewBag.Title = "Index"; } 
    
    <h2>Index</h2> 
    <p> 
    
    @Html.ActionLink("Importar Novo", "Upload") 
    
    </p> <table> <tr> <th> Codigo </th> <th> Nome </th> <th></th> </tr>
     @foreach (var item in Model) { 
    	<tr> <td> 
    		@Html.DisplayFor(modelItem => item.IDArquivo) 
    	</td> <td> 
    		@Html.DisplayFor(modelItem => item.Nome) 
    	</td> <td>
    		 @Html.ActionLink("Download", "Download", new { id = item.IDArquivo }) </td> </tr></table>
    

    Atenciosamente, Roberto Alves

    • Marcado como Resposta Marcos SJ sexta-feira, 14 de agosto de 2015 20:27
    sexta-feira, 14 de agosto de 2015 20:18
  • Olá Roberto. Boa tarde.

    não entendi direito a segunda resposta porque estou desenvolvendo em ASP.NET e VB.NET mas a primeira resposta eu já estou usando e a pasta está sendo criada no servidor e não no cliente.

    veja minha rotina:

    ArqImagem() é um array que estão os endereços das imagens

    imports System.IO

    Private

    SubBaixarImagens()

           

    Dimconta AsInteger= 0

           

    Dimchecado AsBoolean= False


           

    DimdirectoryPath AsString= "C:/Cliente/"


           

    IfNotDirectory.Exists(directoryPath) Then


               

    Directory.CreateDirectory(directoryPath)

           

    EndIf


           

    'está em uso - grava no servidor


           



           

    'Laço que percorre todas as linhas do grid


           

    ForEachgdrow AsGridViewRowIngdvImagens.Rows

               

    Dimbox AsWebControls.CheckBox= gdrow.FindControl("chkSelect")

               

    Ifbox.Checked Then


                   

    DimlstArquivos AsString= NewFileInfo(ArqImagem(conta)).Name

                   

    DimDestino AsString= "C:\Cliente\"& lstArquivos

                   

    My.Computer.Network.DownloadFile(ArqImagem(conta), Destino, "", "", False, 100000, True)

                    checado =

    True


                    box.Checked =

    False


                   

            

    EndIf


                conta += 1

           

    Next


     

     

           

    Ifchecado = FalseThen


                DisplayMensagem(

    "Não há imagem selecionada para baixar")

           

    Else


                DisplayMensagem(

    "Imagens baixadas com sucesso na pasta: C:\Cliente\ ")

           

    EndIf

    sexta-feira, 14 de agosto de 2015 20:58