DOWNLOAD NA LISTBOX
Na hora que clico num botão, sempre faz download do primeiro arquivo da ListBox, onde errrei o codigo?
Depois de selecionar e cliclar no botão de comando, queria o download do arquivo selecionado na ListBox.
codigo no botao:
int idUsuario = 0;
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
string nomeArquivo = [Ô][Ô];
nomeArquivo = Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text;
Response.Clear();
Response.AddHeader ([Ô]Content-Disposition[Ô],[Ô]attachment; filename=[Ô] + lstArquivos .SelectedItem .Text );
Response.ContentType = [Ô]application/octet-stream[Ô];
Response.WriteFile(nomeArquivo );
Response.End();
Obrigado pela ajuda
Depois de selecionar e cliclar no botão de comando, queria o download do arquivo selecionado na ListBox.
codigo no botao:
int idUsuario = 0;
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
string nomeArquivo = [Ô][Ô];
nomeArquivo = Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text;
Response.Clear();
Response.AddHeader ([Ô]Content-Disposition[Ô],[Ô]attachment; filename=[Ô] + lstArquivos .SelectedItem .Text );
Response.ContentType = [Ô]application/octet-stream[Ô];
Response.WriteFile(nomeArquivo );
Response.End();
Obrigado pela ajuda
cade o erro o nome do erro
Ola Jucelio
O erro esta, quando eu seleciono o arquivo para download da listbox.
Sempre faz o download do primeiro arquivo e não do arquido que selecionei.
Dei mais algumas mexidas, mas continua o problema de sempre biaxar o primeiro arquivo
protected void cmdBaixar_Click(object sender, EventArgs e)
{
int idUsuario = 0;
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
FileInfo arquivo = new FileInfo(Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text);
string nomeArquivo = [Ô][Ô];
nomeArquivo = Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text;
arquivo = new FileInfo(nomeArquivo );
Response.Clear();
Response.AddHeader ([Ô]Content-Disposition[Ô],[Ô]attachment; filename=[Ô] + lstArquivos .SelectedItem .Text );
Response.AddHeader([Ô]Content-Length[Ô], arquivo.Length.ToString());
Response.ContentType = [Ô]application/octet-stream[Ô];
Response.WriteFile(nomeArquivo );
Response.End();
}
O erro esta, quando eu seleciono o arquivo para download da listbox.
Sempre faz o download do primeiro arquivo e não do arquido que selecionei.
Dei mais algumas mexidas, mas continua o problema de sempre biaxar o primeiro arquivo
protected void cmdBaixar_Click(object sender, EventArgs e)
{
int idUsuario = 0;
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
FileInfo arquivo = new FileInfo(Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text);
string nomeArquivo = [Ô][Ô];
nomeArquivo = Server.MapPath([Ô][Ô] + idUsuario + [Ô][Ô]) + [Ô]/[Ô] + lstArquivos.SelectedItem.Text;
arquivo = new FileInfo(nomeArquivo );
Response.Clear();
Response.AddHeader ([Ô]Content-Disposition[Ô],[Ô]attachment; filename=[Ô] + lstArquivos .SelectedItem .Text );
Response.AddHeader([Ô]Content-Length[Ô], arquivo.Length.ToString());
Response.ContentType = [Ô]application/octet-stream[Ô];
Response.WriteFile(nomeArquivo );
Response.End();
}
e para preencher o listbox estou fazendo esse codigo no load da pagina
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
DirectoryInfo diretorio = new DirectoryInfo(Server.MapPath([Ô][Ô]+idUsuario+[Ô][Ô]));
//Executa função GetFile(Lista os arquivos desejados de acordo com o parametro)
FileInfo[] Arquivos = diretorio.GetFiles([Ô]*.*[Ô]);
//Começamos a listar os arquivos
foreach (FileInfo fileinfo in Arquivos)
{
lstArquivos.DataSource = Arquivos;
lstArquivos.DataBind();
lstArquivos.SelectedIndex = 0;
}
idUsuario = (int)Session[[Ô]idUsuario[Ô]];
DirectoryInfo diretorio = new DirectoryInfo(Server.MapPath([Ô][Ô]+idUsuario+[Ô][Ô]));
//Executa função GetFile(Lista os arquivos desejados de acordo com o parametro)
FileInfo[] Arquivos = diretorio.GetFiles([Ô]*.*[Ô]);
//Começamos a listar os arquivos
foreach (FileInfo fileinfo in Arquivos)
{
lstArquivos.DataSource = Arquivos;
lstArquivos.DataBind();
lstArquivos.SelectedIndex = 0;
}
ACDONA eu fis teste aqui e não deu erro não
acho que o erro esta no [txt-color=#df0101]lstArquivos.SelectedIndex = 0;[/txt-color] quando clikamos no button para baixar o navegado fais um novo load da pagina e manda para o index de novo tira esse lstArquivos.SelectedIndex = 0;
Citação:JWCELYO escreveu:
acho que o erro esta no [txt-color=#df0101]lstArquivos.SelectedIndex = 0;[/txt-color] quando clikamos no button para baixar o navegado fais um novo load da pagina e manda para o index de novo tira esse lstArquivos.SelectedIndex = 0;
Estava no load da página mesmo, foi só colocar tudo dentro do laço
if (!IsPostBack)
{...}
Valeu pela ajuda
Tópico encerrado , respostas não são mais permitidas