webForumDet fria alternativet

upload + katalog

9 svar · 327 visningar · startad av roady

roadyMedlem sedan jan. 2002473 inlägg
#1

Vet inte om det här varit uppe mycket innan, men hittar inget så jag testar ifall man kan få lite hjälp :OO

Jag vill ladda upp en bild, får inte vara större än en speciell storlek samt man skall bestämma i vilken katalog den skall ligga...

Jag har testar med upload från ASP-kod, nu sitter jag och testar med Persits ASPUpload.
Största problemet är att skicka med i vilken katalog filen skall ligga, får typ fel som:
An error occurred: Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.

... Hur kan jag komma igenom det här ? ...
Kan man skicka den strängen på något annat sätt?

Detta är iallafall koden för att ladda upp

<%
	Dim Upload, subdir, Path, File, MyID
	Set Upload = Server.CreateObject("Persits.Upload")
	MyID = Session("MyID")

	On Error Resume Next
	If len(Upload.Form("subdir")) = 0 Then
		response.Redirect "http://localhost/my_upload.asp?FEL=catalog"
	End If

	' we use memory uploads, so we must limit file size
	Upload.SetMaxSize 100000, True

	' Save to memory. Path parameter is omitted
	Upload.Save

	' access subdirectory specified by user
	subdir = Upload.Form("subdir")

	' Build path string
	Path = "c:\upload\" & subdir

	' Create path, ignore "already exists" error
	Upload.CreateDirectory Path, True

' 8 is the number of "File too large" exception
	If Err.Number = 8 Then 
		Response.Write "Your file is too large. Please try again." 
	Else 
		If Err <> 0 Then 
			Response.Write "An error occurred: " & Err.Description 
		Else 
			For Each File in Upload.Files
				If Right(UCase(File.FileName, 3)) = "JPG" Then
					File.SaveAs Path & "\" & File.FileName
				Else
					response.Redirect "http://localhost/my_upload.asp?FEL=filformat"
				End If
			Next
		End If
	End If
	Response.Redirect "http://localhost/user_main.asp"
%>
cyprysMedlem sedan dec. 20003 563 inlägg
#2

testat skriva ENCTYPE="multipart/form-data" i ditt formulär?
<form ENCTYPE="multipart/form-data" method=post action=dit.asp>

red

File.SaveAs Path & "\" & File.FileName
ändra här för vilken mapp den ska hamna i

File.SaveAs Path & "\mappen\entillmapp\" & File.FileName

roadyMedlem sedan jan. 2002473 inlägg
#3

Har redan:

[red]
<form method="post" enctype="multipart/form-data" action="scripts/my_upload.asp">
[/red]

på formuläret :(

roadyMedlem sedan jan. 2002473 inlägg
#4

Det som verkar krångla är dethär...

[red]
If len(Upload.Form("subdir")) = 0 Then
response.Redirect "http://localhost/my_upload.asp?FEL=catalog"
End If
[/red]
cyprysMedlem sedan dec. 20003 563 inlägg
#5

Funkar?

If len(UploadRequest.Item("subdir").Item("Value")) = 0 Then
response.Redirect "http://localhost/my_upload.asp?FEL=catalog"
End If

roadyMedlem sedan jan. 2002473 inlägg
#6

nä :(

Väljer jag att inte skicka med en fil och inte väljer en katalog ur selecboxen så funkar det...

Men ifall jag tar en fil eller väljer fil och katalog så funkar det inte. Kan komma undan det om jag tar bort If-satsen, men då hamnar inte filerna där de skall (om man då inte väljer en katalog)

roadyMedlem sedan jan. 2002473 inlägg
#7

Det som man annars kan göra är ett javascript som kollar så man verkligen valt katalog, måste nog vara det smidigaste!

cyprysMedlem sedan dec. 20003 563 inlägg
#8

du har inte testat att för skriva
subdir = Upload.Form("subdir")
och sen

If len(subdir) = 0 Then
response.Redirect "http://localhost/my_upload.asp?FEL=catalog"
End If

?

roadyMedlem sedan jan. 2002473 inlägg
#9

nope, det villé inte heller....
Skall nog fixa det med Javascript istället, tack för hjälpen cyprys

cyprysMedlem sedan dec. 20003 563 inlägg
#10

konstigt att det inte funkar. hmm :OO

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