webForumDet fria alternativet

ASP Upload vs. request

7 svar · 274 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 825 inlägg
#1

Jag har en sida med produkter i verktyget...

edit.asp?ID=23&row=44&menuID=3

Om jag nu ska ladda upp ett produktblad (pdf t.ex.) då blir det så dumt när man inte kan använda request-uttryck till sammans med ASP Upload.

Hur ska jag komma runt denna situation?

***
Givetvis kan man använda sessions... Men jag är lite skeptisk till att göra det i tid och otid. Men å andra sidan... finns det ingen annan utväg så kanske man får göra det...??

erkaMedlem sedan dec. 19996 522 inlägg
#2

Du kan ju använda request.form men då måste du använda save to memory, du kommer åt de objekten först när du har laddat upp själva filen så att säga.

@ndersMedlem sedan juni 200032 969 inlägg
#3

Upload-komponenten har antagligen en egen metod istället som du ska använda, det brukar vara uploadobjektet.Form("blah") istället.

Mvh

EclipseMedlem sedan juli 20003 825 inlägg
#4

Så här gör man:

edit.asp:

  \<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION=**"insert.asp?dbaction=insert&ID=\<%=request("ID")%\>&row=

<%=request("row")%>&menuID=<%=request("menuID")%>**" CLASS="text_8pt">
Select file: <BR>
<INPUT TYPE="FILE" SIZE="20" NAME="FILE" CLASS="text_8pt">
<SPAN CLASS="text_8pt"></SPAN><BR>
<INPUT TYPE=SUBMIT VALUE="Upload!" CLASS="text_8pt" NAME="SUBMIT">
</FORM>

Sen kan man använda requestfunktionen som vanligt i filen
insert.asp. @nders, din variant fick jag aldrig att fungera.
Den fungerar säkert... men det är mina kunskaper som
haltar på området! :-)

@ndersMedlem sedan juni 200032 969 inlägg
#5

Ja, request kan du använda då, men du kommer inte kunna använda Request.Form tillsammans med komponenten. Jag lovar (nästan) att den har en egen metod som ersätter Request.Form. :)

Mvh

erkaMedlem sedan dec. 19996 522 inlägg
#6

Ja det har den, men du kan inte komma åt dem förän du har sparat ner filen till minnet, sen använder du save as.

Server.Scripttimeout = 10000
	Dim mySmartUpload,strFileName, kk, File
	Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
	
	'Ladda upp filen till serverns minne för att sedan använda saveas metoden
	mySmartUpload.Upload

	IntNewsId = Trim(mySmartUpload.Form("IntNewsId"))
	strHeader = Trim(mySmartUpload.Form("strHeader"))
	
	'Öppna DB
	Call DBopen
		
	kk = 0
	For each file In mySmartUpload.Files
   	kk = kk + 1

		If File.FileName > "" Then
	 		File.Saveas "d:\UploadedFiles\NewsEvents\AttachedFiles\"& IntNewsId &"_"& file.filename
			strFileName = IntNewsId &"_"& file.filename
			strSQL = "INSERT INTO NewsAttachments (Fk_NewsId,FileName) VALUES ("& IntNewsId &",'"& strFileName &"')"
			Cn.Execute(strSQL)		
		End If
	Next
	
	'Stäng DB
	Call DBclose
@ndersMedlem sedan juni 200032 969 inlägg
#7

erka, nu pratade vi inte om ASPSmartUpload, utan ASP Upload. Dock är jag nästan 100 på att även den komponenten har motsvarande, även om tillvägagångssättet är något annorlunda.

Mvh

erkaMedlem sedan dec. 19996 522 inlägg
#8

Givetvis postar jag fel kod :) he he, kör faktiskt båda. Det fungerar exakt på samma sätt i Asp Upload som i ASPSmartUpload.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)