FSO ile resim upload

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

FSO ile resim upload

Mesaj gönderen barol »

daha once persits ile resim upload işlemini yapıyordum fakat yeni hostumuzda componentler yuklu degil bende component olmadan nasıl yukelyebilirim konusunda internette arastırdım ve FSO yu buldum...

resim upload etmek için asagıdaki kodu kullanıyorumm fakat FSO nesnesini crate ettiğim satırda
Hata Tipi:
Server nesnesi, ASP 0177 (0x800401F3)
Geçersiz sınıf dizesi
/www/Upload2.asp, line 9
hatası veriyor

<%
Set Yukle = New DosyaYukleme

Yol = Server.Mappath("resim")&"\"

DosyaIsmi = Yukle.FileName (" dosya ")

Set FSO = Server.CreateObject("Scripting.FileSystemObject>" )

Set YeniDosya = FSO.CreateTextFile(Yol & DosyaIsmi)

For i = 1 To LenB(Yukle.Value("dosya" ))
YeniDosya.Write Chr(AscB(MidB(Yukle.Value("dosya" ), i, 1)))
Next


YeniDosya.Close
Set YeniDosya = Nothing
Set FSO = Nothing

Set Yukle = Nothing
%>

hata konusunda hiçbir sey anlamadım yardımcı olursanız sevinirim yada baska nasıl upload işlemi yapablirim ama component yuklemeden tesekkurler...
Ölümden öteye köy yok!
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Re: FSO ile resim upload

Mesaj gönderen pentiumkivanc »

barol yazdı: Yol = Server.Mappath("resim")&""

DosyaIsmi = Yukle.FileName (" dosya ")

%>
Hata konusunda bence bu kısma dikkat etmelisin hatta özellikle Yol=server.mappath..

Bunu şöyle yapmayı dene yol=server.mappath("resim/"+dosyaismi)

aradaki bağlacın + olması şart değil biliyorsun, & de yapabilirsin.


Kolay gelsin
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

Mesaj gönderen barol »

dedigin sekilde yaptım fakat bu sefer direk o satırda hata verdiii
Ölümden öteye köy yok!
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

Klasör yapısı oluşturulurken / \ işaretlerinde hata yapmamak için ben FSO nun buildpath komutunu kullanıyorum

Kod: Tümünü seç

dizin="resim"
dizin=fso.BuildPath(Server.Mappath("\"),dizin)
bu şekilde yapınca değer (local de) c:\inetpub\wwwroot\resim oluyor. Klasör adı oluştururken dikkat etmeli

birde Server.CreateObject("Scripting.FileSystemObject>" ) kısmında sonraki > işaretini buraya mı yanlış kopyaladın yoksa scriptinde de mi böyle? Eğer öyleyse Bu işareti kaldır
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

Mesaj gönderen barol »

evet ">" su isareti yanlışlıkla koymusum suan hata vermiyor ama hiçbirsey de olmuyor yukle diyorumm sayfa olece kalıyor yani ilerlemiyor ama hatada vermiyor

daha kompleks kodlar buldum fakat onları anlamıyorumm bu yuzden bu kodu kullanayım dedim ama olmuyor ..FSO ile guzel ornekler bulabilecegim bir yer varmıı
benim tam olarak yapmak istediğim sey haber eklemek tabi haber metni ile resimde yollamam lazım database resmin adını ve haber metnini kaydedecegimm... ilgin için cok tesekkurler..
En son barol tarafından 19 Nis 2005 01:47 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Ölümden öteye köy yok!
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

senin adına sevindim. Normalde FSO için iis de yetki filan verilmesi gerekiyor olabilir. Eğer kendi sunucundaysa bi server a upload et dene
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

ben aşağıdaki kod ile upload işlemini halledebiliyorum

Kod: Tümünü seç

sub dosyayuklekaydet
'FSO ile Upload 

GelenDosya = Request.Form("dosya" ) ' Formdan gelen dosyayı aldık. 
nereye = Server.MapPath("upload" ) 'Aldığımız dosyayı upload edeceğimiz Upload adını verdiğimiz klasörümüzün serverdaki yolunu öğreniyoruz. Burda Upload klasörü ana dizinimizin içinde.Üst dizinde olsaydı ../Upload alt dizinde olsaydı aldizin/Upload diyecektik. 

Set DosNes = Server.CreateObject("Scripting.FileSystemObject" ) 
Set AlinanDosya = DosNes.GetFile(GelenDosya) 

AlinanDosya.Copy nereye&"/" ,true 
Response.Write "Gönderdiğiniz dosyayı aldık Teşekkür ederiz." 

end sub
yerel sunucuda sorunsuz default ayarlarla çalışıyor fakat 1asphost gibi free bir serverda izinler kapalı olduğundan çalışmıyor. Sanırım brinkster de çalışmıyordu.

Saygılar
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

Mesaj gönderen barol »

<%
Dim oFO, oProps, oFile, i, item, oMyName

Set oFO = New FileUpload

Response.Write("<H3>DOSYA YÜKLEME</H3>")

Set oProps = oFO.GetUploadSettings
with oProps
.Extensions = Array("doc", "xls", "jpg") ' İzin verilen dosya türleri tanımı...
.UploadDirectory = Server.Mappath("upload/") ' Varsayılan dosya yükleme klasörü...
.AllowOverWrite = true ' Var olan dosyanın üzerine yazma izni...
.MaximumFileSize = 500000 ' Yüklenecek dosyanın max. boyutu...
.MininumFileSize = 1 ' Yüklenecek dosyanın min. boyutu...
.UploadDisabled = false ' Upload etkin
End with
set oProps = nothing
oFO.ProcessUpload

if oFO.TotalFormCount > 0 then
if oFO.FileCount > 0 then
for i = 1 to oFO.FileCount
set oFile = oFO.File(i)

if oFile.ErrorMessage <> "" then
response.write "> HATA: " & _
oFile.ErrorMessage & "<BR>"
else

oFile.SaveAsFile
if oFile.UploadSuccessful then
response.write "> Başarıyla Yüklendi<BR>"

response.write(" - Dosyanın şu an bulunduğu URL:<font color=""red""> " & _
oFile.URLPath & "</font><BR>")

response.write(" - Dosya tipi: " & oFile.ContentType & "<BR>")

response.write(" - Dosya ismi: " & oFile.FileName & "<BR>")


response.write(" - Dosya boyutu: " & _
formatnumber(oFile.ByteCount, 0) & " byte<BR>")
else
response.write "> Dosyayı yüklerken hata oluştu: " & _
oFile.ErrorMessage & "<BR>"
end if
end if
set oFile = Nothing
next
else
response.write "> Daha önceden bu dosya ile aynı boyutta dosya yüklenmiş. Bu durumda aynı dosyayı yüklüyor olabilirsiniz. Eğer farklı bir dosya olduğuna eminseniz; Dosya boyutunu büyültmek için küçük bir text dosyasını doldurarak sıkıştırılmış dosyaya ekleyiniz."
end if
if oFO.FormCount > 0 then
if isarray(oFO.Inputs) then

response.write " - Gönderen : " & oFO.Form("T1") & "<BR>"
response.write " - habermetni : " & oFO.Form("S1") & "<BR>"



end if

end if


else

oFO.ShowUploadForm request.servervariables("SCRIPT_NAME")
end if

set oFO = Nothing
%>


resimleri upload etmek için boyle bir kod buldum gayet duzgun calışıyor fakat benim resimlerini isimlerini database kaydetmem gerekiyor ama resmin ismini alıp bir degişkene atmayı beceremedim eger anlayan biri varsa lutfen yardımcı olsun tesekkurler....
Ölümden öteye köy yok!
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

Cevapla