Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bianca Lisboa

Comando File.Delete

Recommended Posts

Olá, bom dia !

 

Estou com um problema o qual não consigo resolver.

Tenho uma página em aspnet onde possuo um botão de Anexar Documento. Quando clico neste botão, abre uma outra tela com um objeto FileUpload. O carregamento dos arquivos ( apenas .jpg e .pdf ) ocorre perfeitamente.

A questão é o seguinte, por exemplo: Abri essa página e carreguei um arquivo .pdf, o carregamento ocorreu normalmente. Quando abro novamente essa página e tento alterar este documento para um arquivo .jpg, ele salva no diretório o mesmo nome de arquivo, mas com as extensões diferentes (duplica o arquivo com o mesmo nome, mas salva com extensao diferente).

Bom, o que eu quero é que no momento em que eu alterar este documento, ele apague o documento anterior, independente da extensão e salve apenas este ultimo arquivo.

Pesquisei na internet como fazer essa exclusão com o comando File.Delete, mas não consigo aplicar no meu código. Tenho essa dúvida, pois estou aprendendo a linguagem e tenho algumas dificuldades ainda.

 

Não sei se consegui me expressar corretamente, mas agradeço desde já qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites


protected void BtnAnexarDoc_Click(object sender, EventArgs e)

{

//Verifica se o arquivo foi postado

if (arquivo.PostedFile != null)

{

//Verifica a extensão do arquivo

string[] validFileTypes = { "jpg", "pdf"};

string ext = System.IO.Path.GetExtension(arquivo.PostedFile.FileName);

bool isValidFile = false;

 

 

for (int i = 0; i < validFileTypes.Length; i++)

{

if (ext == "." + validFileTypes)

{

isValidFile = true;

break;

}

}

 

 

if (!isValidFile)

{

lblmsg.ForeColor = System.Drawing.Color.Red;

lblmsg.Text = "Extensão de arquivo inválido. Favor fazer upload somente das extensões " +

string.Join(",", validFileTypes);

}

else

{

if (arquivo.PostedFile.ContentLength <= 1048576)

{

try

{

// PostedFile.FileName passa o caminho completo do arquivo na maquina local.Usando a função Substring ela passa para string todos os dados do arquivo.

string StrFileName = arquivo.PostedFile.FileName.Substring(arquivo.PostedFile.FileName.LastIndexOf("\\") + 1);

 

 

//Pega o tipo de arquivo

string StrFileType = arquivo.PostedFile.ContentType;

 

 

//Pega o tamanho do arquivo postado no formulário

int IntFileSize = arquivo.PostedFile.ContentLength;

 

//Verifica se o arquivo consegue ser carregado no servidor para ser gravado no diretório correto.

//Se for menor igual a zero significa que não conseguiu subir o arquivo

if (IntFileSize <= 0)

{

Response.Write(" A tentativa de UpLoad do Arquivo " + StrFileName + " falhou! ");

}

 

 

else

{

 

//Salva o arquivo no diretório correto

string uploadiretorio = System.Configuration.ConfigurationManager.AppSettings["diretorioupload"].ToString();

arquivo.PostedFile.SaveAs(diretorioupload+ "\\" + HttpContext.Current.Session["variavelsessao"] + (StrFileName.Substring(StrFileName.Length - 4, 4)));

 

 

//Informa na tela que o arquivo foi gravado e dados sobre o arquivo, nome, tipo de arquivo e o tamanho em bytes dele.

}

}

catch (Exception ex)

{

// Mensagem notifica quando ocorre erros

lblmsg.Text = "O arquivo não pôde ser carregado. O seguinte erro ocorreu: " + ex.Message;

}

}

else

{

// Mensagem notifica quando imagem é superior a 1 MB

lblmsg.Text = "Não é permitido carregar mais do que 1 MB";

}

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.