Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, surgiu um erro estranho em um upload que eu faço...
o Nome do Arquivo que eu pego vem diferente dependendo do navegador...
Ex: String NomeArq = upload.PostedFile.FileName;
* No I.E 6 a variavel vem com o nome "C:\Documents and Settings\pedro.duraes.FESP.000\Desktop\Downloads\meuArquivo.zip"
* no Firefox vem com o nome meuArquivo.zip
isso para o mesmo arquivo...
Erro gerado no I.E >> Could not find a part of the path 'D:\Projetos Asp.net\cpex\Arquivos\C_\Documents_and_Settings\pedro.duraes.FESP.000\Desktop\Downloads\galera.zip'.
Alguem sabe como resolver este problema sem fazer gambiarras/pog ?
abaixo meu codigo para fazer o upload
//eu chamo da seguinte forma
//Boolean okUpload = bllarq.UploadFile(FileUpload1, Request.PhysicalApplicationPath, txtTitulo.Text); na pagina aspx
public Boolean UploadFile (FileUpload up,String Path,String Titulo) {
String extensao = "";
String NomeArq = ""; //Nome do Arquivo
double tamanho = 0; // tamanho do arquivo
String TipoArquivo = ""; // ex: application/msword
try
{
FileUpload upload = up;
NomeArq = upload.PostedFile.FileName;//****Aqui que ta gerando divergências
if(NomeArq.Length >3) extensao = NomeArq.Substring(NomeArq.Length - 4).ToLower();
tamanho = upload.PostedFile.ContentLength / 1024; //tamanho em kb
TipoArquivo = upload.PostedFile.ContentType;
if (!upload.HasFile) throw new Exception("É Nescessário Um Arquivo Válido para Fazer o Upload."); //nao possui o arquivo
//se o tamanho do arquivo for muito grande (10 megas )
if (tamanho > 10240) throw new Exception("Arquivo Muito Grande ! Reduza o Tamanho do arquivo<br>(Máximo 10 Mb).");
//extensões permitidas de arquivos
if ((!extensao.Contains("docx") && !extensao.Contains("doc") && !extensao.Contains("pdf"))) throw new Exception("Arquivo Inválido. Use Arquivos no Formato doc (Word) ou Pdf (Acrobat Reader)");
string diretorio = Path+"\\Arquivos\\" + tira_acentos(NomeArq);//tira_acentos é uma funcao que retorna uma string...
if(System.IO.File.Exists(diretorio)) throw new Exception("Este Arquivo Já Existe. Tente Outro ou Renomeie-o!");
upload.PostedFile.SaveAs(diretorio); //aqui que ferra geralCarregando comentários...