globim 0 Denunciar post Postado Agosto 30, 2005 criei um sistema de upload que grava a figura no dire´torio que eu quisser e ja cria um thumbnail :) legau isso funcxa mais assim se eu tentar mandar a mesma foto duas veses da pau tem algum jeito de dar e ele sobre escrever a foto ou eu vou ter colocar um nome nela ou fazer algum if pra ver se ja existe aquele arquivo ? segue o codigo //criação de Variavel para receber o nome string strnome = File1.PostedFile.FileName; //manipulação para separar diretório do nome do arquivo strnome = System.IO.Path.GetFileName(strnome); int zNewCode = zInsert.Stat_NexKey(); string xcoduso = ID; if (! System.IO.Directory.Exists(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode)) { System.IO.Directory.CreateDirectory(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode); } //Grava o arquivo no diretório string xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome; File1.PostedFile.SaveAs(xpath);//thumbnailSystem.Drawing.Image fullSizeImg = System.Drawing.Image.FromFile(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome); System.Drawing.Image.GetThumbnailImageAbort dummyCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); System.Drawing.Image thumbNailImg = fullSizeImg.GetThumbnailImage(80,80,dummyCallBack, IntPtr.Zero); thumbNailImg.Save(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+"thumb_"+strnome); Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Agosto 30, 2005 você pode usar esse método System.IO.File.Exists(@"path\NomeDoArquivo"); e verificar se já existe o arquivo... caso exista você pode mandar gerar um nome aleatório e tentar salvar novamente!!!Att,Carlos Compartilhar este post Link para o post Compartilhar em outros sites
globim 0 Denunciar post Postado Agosto 30, 2005 beleza valeu mano nao tinha me tocado nisso Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Agosto 30, 2005 fazendo isso você não corre o risco de sobrepor uma imagem q está sendo usada...mas ai vai da sua necessidade... Att,Carlos Compartilhar este post Link para o post Compartilhar em outros sites
globim 0 Denunciar post Postado Agosto 31, 2005 ele nao deixa eu sobrepor a imagem por isso que to querendo fazer isso Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Agosto 31, 2005 ow você pode verificar se existe o arquivo, se existir você deleta antes e depois salva a nova imagem!!!ok?Att,Carlos Compartilhar este post Link para o post Compartilhar em outros sites
globim 0 Denunciar post Postado Agosto 31, 2005 olha só quando eu tento salva o mesmo arquivo ele da esse erro aqui Server Error in '/dsweb' Application.--------------------------------------------------------------------------------The process cannot access the file "C:\Inetpub\wwwroot\dsweb\logo_fornecedor\3\00-40-20.gif" because it is being used by another process. Line 190: //Grava o arquivo no diretórioLine 191: string xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome;[RED]Line 192: File1.PostedFile.SaveAs(xpath);[/RED]Line 193: Line 194: System.Drawing.Image fullSizeImg = System.Drawing.Image.FromFile(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome);andei fazendo este codigo aqui fico bom :) //Grava o arquivo no diretório caso nao existir if(! System.IO.File.Exists(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome)) { string xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome; File1.PostedFile.SaveAs(xpath); } if (System.IO.File.Exists(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome)) { //deleta o arquivo caso ja existir string xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome; System.IO.File.Delete (@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome); //após deletar o arquivo ele salva novamente File1.PostedFile.SaveAs(xpath); } Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Agosto 31, 2005 tente remover antes de salvar... nessa condição q você colcou está fora da lógica, tente assim//arquivostring xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome;//Grava o arquivo no diretório caso nao existirif(! System.IO.File.Exists(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome)){File1.PostedFile.SaveAs(xpath);}else{//deleta o arquivo caso ja existirSystem.IO.File.Delete (@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome);//após deletar o arquivo ele salva novamenteFile1.PostedFile.SaveAs(xpath);} Compartilhar este post Link para o post Compartilhar em outros sites
globim 0 Denunciar post Postado Agosto 31, 2005 hehe ta neh :P mais ta funcando ^^ mais eu sei que do seu jeito ta certo pq ele só tem duas alternativas ou eh isso ou é aquilo valeu mano Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Agosto 31, 2005 ;) é pelo meu entendimento ele vai fazer assimse não existir o arquivo salva o arquivofim sese existir o arquivo deleta o arquivo salva o arquivofim seou seja... se não existir ele salva, ai logo abaixo ele verifica q existe, deleta o arquivo e salva novamente... você tem 2 condições e ele vai verificar as duas sempre... e não somente uma ou a outra...ok???precisando de alguma coisa é só falar!!!Att,Carlos Compartilhar este post Link para o post Compartilhar em outros sites
globim 0 Denunciar post Postado Agosto 31, 2005 agora entendi cetinho :) valeu :) Compartilhar este post Link para o post Compartilhar em outros sites
kioshy 0 Denunciar post Postado Setembro 2, 2005 //arquivostring xpath = @"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome;//deleta o arquivo caso ja existirif(System.IO.File.Exists(@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome)){System.IO.File.Delete (@"C:\Inetpub\wwwroot\dsweb\logo_fornecedor\"+zNewCode+@"\"+strnome);}//Salva o arquivoFile1.PostedFile.SaveAs(xpath);Tenta fazer assim acho q vai ficar melhor, pq de toda a forma ele vai gravar o arquivo, então se ele existir deleta e depois grava senão somente grava. Compartilhar este post Link para o post Compartilhar em outros sites