webForumDet fria alternativet

AspSmartUpload!

14 svar · 662 visningar · startad av M.Cheraghi

M.CheraghiMedlem sedan juli 20015 107 inlägg
#1

Jajjamensan, Jag har sökt ;)
Och nej, jag blev inte klokare för det :e
Och ja, har kollat på dokumenteringen för AspSmartUpload, annars hade jag aldrig lyckats komma så här långt ;)

Jag har 5 uploads (10 formulär) som skickar till dokumentet. (som ni kommer se i mitt kodexempel nedan :))
Jag vill att för varje upload som är 'aktiv' dvs inte tomt fält, utan en riktig upload, skall det "insertas" en post i databasen.

Jag vill för varje post som skapats döpa filen till till kolumen "ID" som är av autonumber i databasen.

sen vill jag spara filnamnet i en kolumn i databasen tillsammans med information angående bilden, som postas i ett vanligt textformulär. Men jag vet inte vad jag ska döpa textfälten till?

Sen har jag för övrigt inte en aning om hur hela fridens namn resten utav ASP koden skall se ut

Skulle vilja ha hjälp och utforma scriptet, fast dock klarar jag av att skriva SQL satserna själv :) Så det räcker men att ni skriver
' SQL lägga till en post i databasen
Eller något liknande

Om ni har uppfattningssvårigheter, av det jag har skrivit, Then let me know, så försöker jag förklara bättre :)

<FORM METHOD="POST" ACTION="do_upload.asp" ENCTYPE="multipart/form-data">
   <input name="[b]?????[/b]" type="text" size="30"><BR>
   <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
   <input name="[b]?????[/b]" type="text" size="30"><BR>
   <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
   <input name="[b]?????[/b]" type="text" size="30"><BR>
   <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
   <input name="[b]?????[/b]" type="text" size="30"><BR>
   <INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
   <input name="[b]?????[/b]" type="text" size="30"><BR>
   <INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
<%
   Dim mySmartUpload
   Dim intCount

   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

   mySmartUpload.AllowedFilesList = "jpg,jpeg"

   mySmartUpload.Upload

   intCount = mySmartUpload.Save("f:\inetpub\wwwroot\status\upload")

   Response.Write(intCount & " file(s) uploaded.")
%>

10-4 over and out

edit:/ tog bort sista delen, löste det på egen hand :e
I stora drag, det viktigaste jag behöver veta är hur man 'sejvar' bilden med eget filnamn dock med samma filändelse :) resten kan jag joxxa o trixa med och återkomma när jag kör fast :)

M.CheraghiMedlem sedan juli 20015 107 inlägg
#2
namn = "hejsanhoppsan"
ext = mySmartUpload.Files.Item(1).FileExt

mySmartUpload.files.item(2).saveas "f:/inetpub/wwwroot/status/upload/" & namn & "."&ext
response.write namn & "." & ext

Server.MapPath() fel 'ASP 0172 : 80004005'

Felaktig sökväg

/status/do_upload.asp, rad 20

Parametern Path för metoden MapPath måste vara en virtuell sökväg. En fysisk sökväg användes.

ändrar jag sökvägen till '/status/upload/'

62b81017cbbfef3358be961b7adeaa03.jpg (27939bytes)

aspSmartUpload.File fel '80040460'

Unable to save file (Error 1120)

/status/do_upload.asp, rad 20

Den får juhe bestämma sig :OO

i dokumentationen står det:

<%
myUpload.files.item(2).saveas "c:\temp\" & myUpload.files.item(2).filename
myUpload.files.item(3).saveas "/docs/" & myUpload.files.item(3).filename
myUpload.files.item(4).saveas "myFile.txt" 
%>

Det blev för rörigt att redigera föregående inlägg, skulle blitt för långt och massa citat och kod taggar, så jag valde att skriva som ett nytt inlägg

annoMedlem sedan nov. 2000213 inlägg
#3

Den här koden använder jag mig av när jag vill sätta eget filnamn, den går igenom alla inputfält av typen file och i koden kan du sätta eget namn genom att byta ut variabeln namn till det du vill ha. I loopen kan du även ha dina SQL-satser...

	For each file In mySmartUpload.Files	
	   If not file.IsMissing Then				        	         	    			
			' Spara fil om allt är OK	
			Filename =  namn & "." & file.FileExt		
			
	 		file.SaveAs("/upload/" & Filename)			
	   End If
	Next
M.CheraghiMedlem sedan juli 20015 107 inlägg
#4

anno skrev:

Den här koden använder jag mig av när jag vill sätta eget filnamn, den går igenom alla inputfält av typen file och i koden kan du sätta eget namn genom att byta ut variabeln namn till det du vill ha. I loopen kan du även ha dina SQL-satser...

	For each file In mySmartUpload.Files	
	   If not file.IsMissing Then				        	         	    			
			' Spara fil om allt är OK	
			Filename =  namn & "." & file.FileExt		
			
	 		file.SaveAs("/upload/" & Filename)			
	   End If
	Next

Tyvärr :l så samma felmeddelande. "Unable to save file (Error 1120)"

JymdisMedlem sedan mars 20016 260 inlägg
#5

Låter som din webbplats ligger under en virutal directory och det är därför du får problem med unable to safe file.

Prova skriva ut server.mappath("/status/upload/") för att se var du hamnar..

M.CheraghiMedlem sedan juli 20015 107 inlägg
#6

Jymdis skrev:

Låter som din webbplats ligger under en virutal directory och det är därför du får problem med unable to safe file.

Prova skriva ut server.mappath("/status/upload/") för att se var du hamnar..

Ojda, jag hade rört till vissa saker.
Det verkar fungera för stunden, då vare dags att knåa vidare och återkomma när problem uppstår :D

Tack så mkt!

(Accpterar inget svar ännu, då tråden kommer att hållas vid liv den senaste tiden antar jag :))

M.CheraghiMedlem sedan juli 20015 107 inlägg
#7

Here we go again!
5 upload formulär
5 text fält (innehållande kommentar till bilden)

Dvs varje FILE formulär ska ha ett TEXT formulär så man kan skriva kommentar till bilden, men hur ska man få det att fungera tillsammans med koden som jag gjort hittills.

<!--#include file="sessioncontrol.asp" -->
<!--#include file="databaseconnection.asp" -->
<%
   Dim mySmartUpload
   Dim intCount
   strAuthor = session("username")
   strUploaded = now()

   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

   mySmartUpload.AllowedFilesList = "jpg,jpeg"

   mySmartUpload.Upload

	For each file In mySmartUpload.Files	
	   If not file.IsMissing Then				        	         	    			

			strSQL="INSERT INTO tblPhotoalbum (author, uploaded) VALUES ('"& strAuthor &"' , '"& strUploaded &"')"
			conn.execute(strSQL)

			set rs = Conn.execute( "select last_insert_id()")
			id = rs(0)

			Filename = id & "." & file.FileExt		
	 		file.SaveAs("/upload/" & Filename)			
	   End If
	Next

%>
JymdisMedlem sedan mars 20016 260 inlägg
#8

form.item("namn") tror jag du hittar den på!

M.CheraghiMedlem sedan juli 20015 107 inlägg
#9

Jymdis skrev:

form.item("namn") tror jag du hittar den på!

strComment = form.item("TEXT")

Ligger precis ovanför INSERT INTO, alla text förmulären heter TEXT, så jag antog att jag ska skriva text ;)

Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'form'

/status/do_upload.asp, rad 18

@ndersMedlem sedan juni 200032 969 inlägg
#10
strFoo = mySmartUpload.Form("foo")

Och varför heter alla fälten text? Hur ska du kunna särskilja dem?

M.CheraghiMedlem sedan juli 20015 107 inlägg
#11

@nders skrev:

strFoo = mySmartUpload.Form("foo")

Och varför heter alla fälten text? Hur ska du kunna särskilja dem?

Ah, som du vet @nders, så fugnerar det hittills :e Tack!

M.CheraghiMedlem sedan juli 20015 107 inlägg
#12

Det går frammåt :)
jag har nu lyckats på ett eller annat sätt få användaren att endast ladda upp för 2 Mb totalt i sin mapp :)
Vilken i sig är skit bra tycker jag ;) Lyckats tack vare er :)

Om man laddar upp en fil och det totalt blir mer än 2 Mb så får jag ett felmeddelande :) vilket gör att allt är precis i sin ordning!
Men jag vill skippa det här felmeddelandet, och ALLA andra felmeddelanden som t.ex "Åtgärden ej tillåten" när man försöker ladda upp annat än jpg/jpeg format. jag vill istället bara skiva
(response.write "något gick fel") men hur vet jag inte!

aspSmartUpload.File fel '80040451'

Size exceeded for this file : 'C:\Documents and Settings\Manne1\Desktop\62b81017cbbfef3358be961b7adeaa03.jpg' (Error 1105)

/status/do_upload.asp, rad 25

[red]
<!--#include file="sessioncontrol.asp" -->
<!--#include file="databaseconnection.asp" -->
<%
   Dim mySmartUpload
   Dim intCount
   strAuthor = session("username")
   strUploaded = now()

   strSQL = "SELECT diskspace FROM tblUser WHERE username = '"& strAuthor &"'"
   SET RSdisk = Conn.execute(strSQL)

   Dim filesys, folder, foldersize    
   Set filesys = CreateObject("Scripting.FileSystemObject") 
   Set folder = filesys.GetFolder("F:\inetpub\wwwroot\status\status\photoalbum\" & strAuthor & "\") 
   foldersize = folder.size

   strSpace = RSdisk("diskspace") - foldersize

   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

   mySmartUpload.AllowedFilesList = "jpg,jpeg"

   mySmartUpload.MaxFileSize = strSpace

   mySmartUpload.Upload

	For each file In mySmartUpload.Files	
	   If not file.IsMissing Then

			strFileFieldName = file.Name
			strCommentFieldName = "TEXT" & right(strFileFieldName, 1)
			strComment = mySmartUpload.Form(strCommentFieldName)			        	         	    			

			strSQL="INSERT INTO tblPhotoalbum (author, uploaded, comment) VALUES ('"& strAuthor &"' , '"& strUploaded &"' , '"& strComment &"')"
			conn.execute(strSQL)

			set rs = Conn.execute( "select last_insert_id()")
			id = rs(0)

			Filename = id & "." & file.FileExt		
	 		file.SaveAs("/status/photoalbum/" & strAuthor & "/" & Filename)

						
	   End If
	Next

%>
[/red]
JymdisMedlem sedan mars 20016 260 inlägg
#13

skriv en on error resume next å sen

If Err.Number <> 0 Then 
response.write "bla bla bla"
end if
M.CheraghiMedlem sedan juli 20015 107 inlägg
#14

Jymdis skrev:

skriv en on error resume next å sen

If Err.Number <> 0 Then 
response.write "bla bla bla"
end if

Självklart.
Att jag inte tänkte på det själv :r
Tack för tipset :)

JymdisMedlem sedan mars 20016 260 inlägg
#15

np!

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