...

View Full Version : how to show link of file uploaded



efet
06-06-2007, 06:08 PM
I created news script which allows me to assign editors. I allowed my editors to upload a picture for news. I want my editors to see file's uploaded physical address. How can I do it?


<%
Process=Request.Querystring("Process")
If Process="add" then
Call add
Elseif Process="add2" then
Call add2
End if
%>

<% sub add %>
<form method="post" action="upload.asp?Process=add2" enctype="multipart/form-data" name="form1" id="form1" onKeyUp="highlight(event)" onClick="highlight(event)">
<table width="300" border="1">
<tr>
<td colspan="2" bgcolor="#FFFF00">
Imaj Ekleme</td>
</tr>
<tr>
<td width="100">Kategori adi(*)</td>
<td>
<input type="file" name="FILE" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="DOSYA" id="DOSYA" value="Gonder"></td>
</tr>
</table>
</form>
<% end sub %>
<% sub add2 %>

<%
Set UPLOAD = Server.CreateObject("PERSITS.UPLOAD" )
UPLOAD.OVERWRITEFILES = FALSE
COUNT = UPLOAD.SAVETOMEMORY
For Each FILE IN UPLOAD.FILES

' Kontroller sadace resim türevi dosya formatları için eğer .zip' e izin vermek istiyorsanız : If FILE.EXT<>".zip" End If bu kudu bu alan yazarsanız .zip harici dosyalar aşağıdaki konttoller tabi olucak FILE.IMAGEtype="UNKNOWN" ile asp ve benzeri kötü niyetli dosyaların yüklenmesine ayrıca izin verilmez..
'-----------------------------------------
If FILE.IMAGEtype="UNKNOWN" Then
With Response
.Write"<SCRIPT LANGUAGE= 'JavaScript' >"
.Write"{"
.Write"window.alert ('resim formatı haricinde dosya yükleyemezsiniz. JPG,GIf veya PNG olmalıdır.');"
.Write"window.location = 'javascript:history.go(-1)'"
.Write"}"
.Write"</SCRIPT>"
End with
FILE.DELETE
RESPONSE.End
ElseIf FILE.IMAGEWIDTH > 800 Then
With Response
.Write"<SCRIPT LANGUAGE= 'JavaScript' >"
.Write"{"
.Write"window.alert ('resim eni çok büyük 1280 piksel olmalıdır.');"
.Write"window.location = 'javascript:history.go(-1)'"
.Write"}"
.Write"</SCRIPT>"
End with
FILE.DELETE
Response.End

ElseIf FILE.IMAGEHEIGHT > 600 Then
With Response
.Write"<SCRIPT LANGUAGE= 'JavaScript' >"
.Write"{"
.Write"window.alert ('resim boyu çok büyük 1024 piksel olmalıdır.');"
.Write"window.location = 'javascript:history.go(-1)'"
.Write"}"
.Write"</SCRIPT>"
End with
FILE.DELETE
Response.End

' resim türevi dosya kontrolleri bitti, eğer yukardaki gibi .zip için verdiğimiz örneği yapıldı ise buraya End If koyunuz.

ElseIf FILE.SIZE > 500000 Then
With Response
.Write"<SCRIPT LANGUAGE= 'JavaScript' >"
.Write"{"
.Write"window.alert ('dosyanın boyutu çok büyük lütfen optimize ediniz.');"
.Write"window.location = 'javascript:history.go(-1)'"
.Write"}"
.Write"</SCRIPT>"
End with
FILE.DELETE
Response.End
End If

' Dosya adı uzantılar
'-----------------------------------------
DOSYUZANTI=FILE.EXT ' dosyanın uzantısına bakıyoruz. (.jpg .gIf .asp .zip Örneği gibi başlarında nokta bulunur. )
DOSYAADI="" ' Denemek için Deneme olarak belirttik.. isterseniz form dan gelen bir isim veya id de olabilir : DOSYAADI=Trim(UPLOAD.FORM("ID" ))

If DOSYAADI="" Then ' Eğer dosya adı boşsa orjinal dosya adını alıcak.
DOSYAADI=FILE.NAME
End If

' Yükleme yeri
'-------------------------------------
' Fiziksel yol ile
' DOSYAPATH="\media\" ' sona \ yazmayı unutmayın yoksa hata veriri dosyanı system32 dizini içine gidebilir.
' PATH = ( DOSYAPATH &DOSYAADI &DOSYUZANTI) ' orjinal dosya adı için FILE.NAME &FILE.EXT denebilir.
' FILE.SAVEAS PATH
'-------------------------------------
' Doğrudan bulunduğu dizine
PATH = Server.MapPath( "\media\" &DOSYAADI &DOSYUZANTI) ' hata verirse yüklemez ise Server.MapPath( "\" &DOSYAADI &DOSYUZANTI)
FILE.SAVEAS PATH
' ayrıca araya dizin ekleyebilirsiniz. PATH = Server.MapPath( "\" DOSYAADI &DOSYUZANTI)
'-------------------------------------

Next


' dosya yoksa varsayılan dosya adı eklensin
' -------------------------------------
If DOSYUZANTI="" Then
DOSYAADI="DEFAULT_RESIM.JPG"
Else
DOSYAADI=DOSYAADI & DOSYUZANTI
End If

' Boş geçmesin hata versin işlem yapmasın dersen
' -------------------------------------

If DOSYUZANTI="" Then
With Response
.Write"<SCRIPT LANGUAGE= 'JavaScript' >"
.Write"{"
.Write"window.alert ('dosya seçmediniz..');"
.Write"window.location = 'javascript:history.go(-1)'"
.Write"}"
.Write"</SCRIPT>"
End with
RESPONSE.End
Else

'SQL...
'RS.OPON....
'RS("DOSYA" )=DOSYAADI ' şeklinde veritabanına eklenir..
'RS.Close...

End If
Response.Write(" "&DOSYAADI&""&DOSYUZANTI&" Dosya eklendi..." )

%>
<% end sub %>

Spudhead
06-07-2007, 04:16 PM
You're not saving the file to disk anywhere that I can see. You need to specify a path to save the file to; you should be able to work out from that what the URL to your file should be.

You may find the ASPUpload manual (http://www.aspupload.com/manual_memory.html) a useful reference.

westmatrix99
06-07-2007, 10:07 PM
Have you tried storing the filenames in session variables?

Session("filename1") = UploadRequest("filename1")
you should do this only when the upload is in process so:

If (Request.QueryString("filename") <> "") Then
Session("filename1") = UploadFormRequest("filename1")
'Session("filename2") = UploadFormRequest("filename2")
end if

Hope this helps you, also you should change the upload folder:

"folder/" & UploadRequest("foldername")

Hope it makes sense?
Cheers



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum