Server.MapPath sorunu

Kodla Büyü

usta3417

Site Gezgini
Mesajlar
78
arkadaşlar bir fotoğraf stüdyosu için web sitesi hazırlıyorum. kontrol panelli. kontrol panelinde galeri oluştur dediğim zaman oluşturulan galerinin id sine göre otomatik olarak resimler klasörünün altında bir klasör oluşturuyorum. buraya kadar tamam. ama galeriye resim yükle dediğimde ilgili resimleri seçtiği galerinin klasörüne yüklerken bir hata alıyorum

hata
Server.MapPath() error 'ASP 0174 : 80004005'

Invalid Path Character(s)

/resim_yukle_islemgal.asp, line 36

An invalid '/' or '\' was found in the Path parameter for the MapPath method.

kod satırı ise


galerid=Temizle(Request.Querystring("galerid"))

Set Upload = Server.CreateObject("Persits.Upload")
Path = Server.MapPath("resimler/"&galerid&"/")

Count = Upload.Save(Path)


Path = Server.MapPath("resimler/"&galerid&"/")
bu satırda örneğin
Path = Server.MapPath("resimler/deneme/") dediğimde deneme kalsörünün altına atıyordu resimleri.
umarım anlatabilimişimdir. bu sorunu nasıl düzeltebilirim.
 
Hocam server.mappath ile gönderdiğiniz stringde bit hata oluşuyor sanırım. Bu stringi messagebox vs. ile bir görüntüleyip ("resimler/"&galerid&"/") kısmından dönen metni görün derim.
 
Path = Server.MapPath("resimler/"&galerid&"/")

Hocam çift tırnak içinde yazdığın bölümleri string olarak gördüğü için bu hatayı veriyor.
resimler/"&galerid&" böyle bir klasör olmadığı için hata alıyosun.

String bir değişken tanımlayarak klasör ve değişkeni birleştir.VBde şu şekilde
dim yol as string
Yol="resimler/" + değişken adı

daha sonra bunu
Server.MapPath(yol) şeklinde yazın.

bir de admin klasöründen yüklüyorsan resimler klasörü ana root ta ise resimlerin başına "../resimler/" şeklinde yazmalısın.
 
hocam upload etmek istediğiniz klasör içerisinde resimler/&galeriid adlı bir klasör yok. eğerki bu klasörünüz root ta ise o zaman /resimler diye başlayın. ve tavsiyen dosya upload işlemlerinde fso kullanılır arkaplanda. bu yüzden dizinler için folderexists, dosyalar için fileexists kullanın bir if ile.
 
arkadaşlar öncelikle teşekkür ederim. sanırım sorunu buldum. nedendir bilmiyorum ama ana sayfadan upload dosyasına id değerini aktaramıyorum. yada aktarmıyor. ki bu id no ayrıca klasör ismi olacağı için onu gönderdim. ama id no yu almıyor. formdan gönderdim olmadı galerid=Temizle(Request.Querystring("galerid")) yöntemiyle aldım olmadı
Session u kullandım olmadı. bu ideyi daha başka nasıl aktarabilirim yahu. kafayı yicem. yada iligili galerinin ilgili klasörüne. bunu yapmamdaki sebebpte dosya isimleri yanı ise karışıklık olmasın diye. iligili galeriler iligili kalsörlerde olsun.
 
hocam dediğim gibi

Yol = "resimler/" + Temizle(Request.Querystring("galerid").ToString +"/"

Server.MapPath(yol)

bu şekilde yapacaksınız.Aşağıdaki gibi çift tırnak içinde tekrar çift tırnak kullanamazsınız.
Server.MapPath("resimler/"&galerid&"/")
 
hocam

Path = Server.MapPath("resimler/"&galerid&"/")

yi

Path = Server.MapPath("resimler/" & galerid & "/")

şeklinde değiştirip denesene
 
denedim hocam denedim her yolu denedim. yok hep aynı hata. en sonunda galerid nin ilgili upload.asp dosyasına aktarılamadığını farkettim. büyük ihtimal ondan kaynaklanıyo. ide yi görmediği için arada // işaratei çıkıyor. buda yanlış yola itiyo. ondan dolayı hata veriyo. şimdi iligili ideyi aktarmaya çalışıyorum. ama ne denediysem olmadı. artık başka bir mantık deniyorum. ayrıca ilgilendiğiniz için çok teşekkür ederim.
 
hocam path değişkenini ekrana yazdırsana response.write ile.

oradan id nin aktarılıp aktarılmadığını anlarsın. bir de dosya upload etmeden önce klasör oluşturman gerekebilir. ilgili id ile ondan dolayı da sıkntı yaratabilir.
 
BBNET
Geri
Üst