---
title: "aspSmartUpload!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/59229-aspsmartupload"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Alex_net"
published: "2002-11-16T00:17:21.000Z"
updated: "2002-11-17T15:35:51.000Z"
replies: 9
views: 377
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/59229-aspsmartupload"
---

# aspSmartUpload!

## #1 — Alex_net, 2002-11-16T00:17Z

Web-Hotel har stöd för aspSmartUpload.

Vill använda den formulär för att ladda upp bild i temp katalog på server.
(vid uppladdning av bilden ska skapas egen temp katalog för varje bild och på så sätt undvikas problem med bilder som har samma namn).
 
Sen hela formuläret ska sparas i access databas som text data typ 
(namn på temp katalogen + bildens namn, samt andra fälten som namn, rubrik osv..)

Har försökt men det går inte fattar inte riktigt.

Finns det någon som har någon färdigt exempel, eller som kan hjälpa med den här formuläret
(kanske enklaste).

Har läst manualer på smartupload men det hjälper inte.

Tack!  

\-----------------------------------------------------------
Exempel på folmuläret!
\------------------------------------------------------------
\<html\>
\<head\>

\<title\>\</title\>

\</head\>
\<body\>

\<form method="post" action="spara.asp" enctype="multipart/form-data"\>
 
\<input type="text" name="Rubrik" size="20"\>\<br\>

\<input type="password" name="pris" size="20"\>\<br\>

\<textarea name="artikel" cols="45" rows="5"\>\</textarea\>\<br\>

\<input type="file" name="file" size="20"\>\<br\>

\<input type="submit" value="upload"\>\<br\>

\</form\>

\</body\>
\</html\>  :q

Permalänk: https://www.webforum.nu/p/59229

## #2 — crisse6, 2002-11-16T01:05Z

Varfor inte testa Overrides uploadskript istallet? Funkar skitbra och ar komponentlos! Jag har skrivit i den traden for bla fora in access db.... 

sen med att skapa mapp ar val FSO som galler :)

Permalänk: https://www.webforum.nu/p/858557

## #3 — Alex_net, 2002-11-16T09:44Z

Vart finns Overrides uploadskript exempel  hittar ej. 
Har hittat några inlägg men inte själva skript.

Permalänk: https://www.webforum.nu/p/858603

## #4 — Pellefant, 2002-11-16T12:05Z

Här har du en länk till scriptet: <http://www.webforum.nu/showthread.php?s=&threadid=45211>

Permalänk: https://www.webforum.nu/p/858673

## #5 — OveRRidE, 2002-11-16T13:38Z

De vanligaste frågorna och svaren finner du [här](http://www.webforum.nu/showthread.php?s=&threadid=45212).

Permalänk: https://www.webforum.nu/p/858730

## #6 — Alex_net, 2002-11-16T22:34Z

Nån sa att man ska skappa ett bildnamns-generator för att undvika att två stycken personer kan ladda upp en bild med samma namn Typ 32434334_1700_453.gif. "

Hur kan man göra det praktiskt här i koden
\---------------------------------------------------------------------------------

Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

\--------------------------------------------------------------------------------
och sen visa här

response.write "\<b\>Filens sökväg:\</b\> " & Server.mappath(filename) & "\<br\>"
response.write "\<b\>Filnamn:\</b\> " & filename & "\<br\>\<br\>"
response.write "\<img src=""" & filename & """\>"

\---------------------------------------------------------------------------------
och spara i databas som text.

Jag är ingen proffs (nybörjare) tyvärr!

Tack!

Permalänk: https://www.webforum.nu/p/859045

## #7 — Macce, 2002-11-17T09:03Z

```
<FORM name="add" METHOD="POST"   ACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>?action=save"
 ENCTYPE="multipart/form-data"><br> Använd "bläddra" 
och välj bild för uppladdning:<br>  
	<input type="FILE" name="FILE1" size="40">
 <input type="SUBMIT" value="Spara" name="SUBMIT"></form>

If request.querystring("action")="save" then
On Error Resume Next
	   Dim mySmartUpload, myFile, namn, intCount, file, filslut    

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

	   mySmartUpload.AllowedFilesList = "jpg,gif,png"
	   mySmartUpload.DenyPhysicalPath = False
	   mySmartUpload.MaxFileSize = 50000
	     
	 
	   mySmartUpload.Upload
                  
                   filslut = right(mySmartUpload.files.item(1).FileName,4)'för att ta med .jpg .png eller .gif

	   intCount = mySmartUpload.files.item(1).saveas( sökväg & "/" & RecSet("Id") & filslut)
	   
	  If Err Then
			Response.Write("<b>Fel : </b>" & Err.description)
		 Else
		 
			
		Response.redirect("fungerar_OK.asp")
	   End If
		Set mySmartUpload = nothing
END IF
```

 

RecSet("Id"), hämtar du från den post där sökvägen lagras i db:n

OBS ! Har inte testat koden, men principen förstår du nog ;)

Permalänk: https://www.webforum.nu/p/859145

## #8 — Pellefant, 2002-11-17T09:05Z

Alex_net : Posta gärna din kod här när du får årdning på det, är nyfiken på den.

Permalänk: https://www.webforum.nu/p/859147

## #9 — Alex_net, 2002-11-17T14:59Z

Macce, har testat din kod men det funkar ej....
Men eftersom har redan kommit en bit med "Overrides uploadskript" som är helt ok tycker jag, tänker också utveckla den vidare. 

Har lyckats att spara i databas (som text) både laddade filen och andra formulärelement.

Har testat skriptet både på <https://www.24-7webhosting.com> som kör (Linux och Chilli Asp komp),
samt på <https://www.swede.com> (Win2000 Server) funkar helt ok...

Det är 3 saker som måste fixas innan är skriptet fult användbar:

1\. Kontroll av bildstorlek (bild mindre än 250k) och bildtyp tex jpeg, gif.

2\. Skapa ett bildnamns-generator för att undvika att två stycken personer kan ladda upp en bild med samma namn.

3\. Tillåta att formuläret ska skickas och sparas i databas oavsett om jag har valt att lada bild eller ej. Eftersom det är ett blandat formulär som har andra formulärelement (namn, email osv…), och jag har inte behöv att alltid ladda filer ibland det räcker bara med andra formulärelement som namn, email….

Så långt har jag kommit med koden som funkar, det skulle vara trevlig om vi kan modifiera koden och lägga till ovannämnda funktioner.

Exempel på kod som är testat och funkar:

Default.asp
\-----------------------------------------------------------------------------------
\<html\>
\<head\>
\<title\>Ladda upp fil\</title\>
\</head\>

\<body\>

\<form method="post" action="../upload/outputfile.asp" enctype="multipart/form-data"\>
    
	\<input type="text" name="namn"\>\<br\>
	
	\<input type="text" name="email"\>\<br\>
	
	\<input type="file" name="blob"\>\<br\>
	
	\<input type="submit" value="Ladda upp, yo!"\>
	
\</form\>

\</body\>
\</html\>
\-----------------------------------------------------------------------------------

outputfile.asp
\-----------------------------------------------------------------------------------
\<html\>
\<head\>
	\<title\>Upload\</title\>
\</head\>

\<body\>

\<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
namn = UploadRequest.Item("namn").Item("Value")
email = UploadRequest.Item("email").Item("Value")

contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\\"))
value = UploadRequest.Item("blob").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

response.write "\<b\>Filens sökväg:\</b\> " & Server.mappath(filename) & "\<br\>"
response.write "\<b\>Filnamn:\</b\> " & filename & "\<br\>\<br\>"
response.write "\<img src=""" & filename & """\>"

response.write "\<b\>Filens email:\</b\> " & email & "\<br\>"
response.write "\<b\>Filens namn:\</b\> " & namn & "\<br\>"

    namn = UploadRequest.Item("namn").Item("Value")
	email = UploadRequest.Item("email").Item("Value") 

'spara i databas
			
	Set Connection = Server.CreateObject("ADODB.Connection")
	Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&\_
    "Data Source="&Server.MapPath("/lada/test.mdb")

	SQLStmt = "INSERT INTO lada (namn, email, filename) "
	SQLStmt = SQLStmt & "VALUES('" & namn & "','" & email & "', '" & filename & "') "

	Set RS = Connection.Execute(SQLStmt)
	
	Connection.Close 
%\>

' upload.asp behövs ej modifieras
\<!--#include file="../upload/upload.asp"--\>

\</body\>
\</html\>

Permalänk: https://www.webforum.nu/p/859378

## #10 — Macce, 2002-11-17T15:35Z

Generator behövs väl inte om du sparar bilden med samma namn som id:t i databasen.

Varför ska du spara själva bilden i databasen ?

Storleken ställer du enkelt i smartupload:
mySmartUpload.MaxFileSize = 250000

Giltiga bildtyper: 
mySmartUpload.AllowedFilesList = "jpg,gif,png"

Har inte tittat på din komponentlösa upload, kanske går enkelt att ställa där med ?!?

Mvh

Permalänk: https://www.webforum.nu/p/859400

---

Tråden på webben: https://www.webforum.nu/amne/asp/59229-aspsmartupload
