asp.net bir web sitesi hazırladım. bu sitenin bir sayfasında kullanıcıya fotoğraf yükletmem gerekiyor.. Localde denediğimde fotoğraf klasöre kayıt oluyor ama sunucuya yükleyip denediğimde bu olmadı.. ne yapacağımı şaşırdım lütfen yardımcı olun :((((
sunucuda o klasore yazma izni vermen gerekli . App_data default olarak iis den yazma izinli gelir lakin oradanda site.aspx/app_data/resim1.jpg diye okuyamazsın default olarak görüntüleme izni kapalıdır.
Mahoninin dediği gibi önce klasörler izinlervermen lazım ondan sonraki adımda mesela kayıt şeyli böyle olmalı.
sana kendi yazdığım kod bloğunu vereyim ( daha önce forumda ve nette paylaşmıştım )
hem dosyaya isim veriyorsun ( burası önemli isim vermezsen aynı isimle kayıt eder o yüzden random isim oluşturdum kodda ) hemde istediğin şekilde resize yani boyutlandırıyorsun ve kaydediyorsun.
Not: kodlarımı Ingilizce yazarım ama zaten anlaman kolay olur ingilizcenin olduğunu var sayıyorum. Hatta // acıkalmarıda Ingilizce yapmıştım sonrada türkçeye cevirdim belki türkçe olması daha iyi anlamanı sağlar diye. Birde unutma tek bir klasör tanımlamadım
if (FileUpload1.HasFile) { if (Path.GetExtension(FileUpload1.PostedFile.FileName) == ".jpg" || Path.GetExtension(FileUpload1.PostedFile.FileName) == ".png") { Random rndm = new Random(); string PhotoExtensions = Path.GetExtension(FileUpload1.PostedFile.FileName); string PhotoName = FileUpload1.PostedFile.FileName /*+ rndm.Next(99999999, 999999999) + PhotoExtension*/; //öncelikle \\images\\ klasörüne geçici olarak resmimizi attık FileUpload1.SaveAs(Server.MapPath("~\\images\\") + PhotoName); // Sonra o attığımız resmi bitmapa çevirdik Bitmap Photo = new Bitmap(Server.MapPath("~\\images\\") + PhotoName); int Width = 215; int Height = 215; //resmi boyutlandırma işlemi Size Size = new Size(Width, Height); //Resmi boyutlandırıyoruz. Bitmap ResizedPhoto = new Bitmap(Photo, Size); string Resizedandsavedphoto = "~\\images\\Resizedphotos\\" + PhotoName; //Boyutlandırdığımız resmi \\images\\Resizedphotos\\ klasörüne alıyoruz ResizedPhoto.Save(Server.MapPath(Resizedandsavedphoto), ImageFormat.Jpeg); Photo.Dispose(); ResizedPhoto.Dispose(); // ve geçici olarakilk attığımız resmi siliyoruz ( boşa yer kaplamasın ) FileInfo Firstuploadedphoto = new FileInfo(Server.MapPath("~\\images\\") + PhotoName); Firstuploadedphoto.Delete(); ImgProfilePhoto.ImageUrl = Resizedandsavedphoto.Clean(); } else { lblwarning.Text = " Somethings gone wrong !!! "; }
} }
< Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 8 Ağustos 2019; 21:0:40 >
Sunucuda klasöre yazma izni vermelisiniz. İkincisi Server.MapPath sizi kodu yazdığınız dosyanın konununa götürür. O konuma göre kayıt yapacağınız klasörün yolunu yazınız.
Resim ekletmeye çalıştığım kodlar resimdeki gibidir...https://prnt.sc/nr5olo
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi mceelik06 -- 21 Mayıs 2019; 2:11:31 >