Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
619
Tıklama
0
Öne Çıkarma
Asp.net web sitesinde resmi sunucudaki klasöre kaydedemiyorum
M
7 yıl (8 mesaj)
Er
Konu Sahibi

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 :((((

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 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.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi mceelik06 -- 21 Mayıs 2019; 2:11:31 >

S
7 yıl (9035 mesaj)
Yarbay

Server.MapPath("~/xxx/xxx/xxx") stringin icine ~ bu isareti koyup deneyin bakalim



M
7 yıl (5091 mesaj)
Yarbay

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.



O
7 yıl (2353 mesaj)
Binbaşı

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 >

H
7 yıl (282 mesaj)
Yüzbaşı

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.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.