---
title: "AspUpload igen..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39409-aspupload-igen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "timedia"
published: "2002-03-11T10:05:06.000Z"
updated: "2002-03-13T12:13:12.000Z"
replies: 11
views: 435
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/39409-aspupload-igen"
---

# AspUpload igen...

## #1 — timedia, 2002-03-11T10:05Z

Jag har försökt tidigare men kom inte långt  :l 
Börjar om igen med ett "lättare" script för att försöka förstå!
Jag har följande formulär som med ASP-upload ska skicka upp en fil till servern och lägga till ett textfält i DB. 

```
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript1.asp"> 

Datum ex. 2002-03-16<br>
<input type="text" name="proto" size="20"><br><br>
<b>Välj fil:</b><br>
<INPUT TYPE=FILE SIZE= 60 NAME="FILE2"><br> 

<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>
```

UploadScript1.asp ser idag ut så här. Har försökt ändra den men DB vill inte ta emot textfältet.  
Hur gör jag? Någon som kan hjälpa?

```
<% 

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 500000, False 

Count = Upload.Save(Server.MapPath("proto_up"))
%>
Du har laddad upp<% = Count %> fil.
```

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

## #2 — solbulle, 2002-03-11T13:34Z

Den där koden laddar ju endast upp en fil, den har ju inget med en databas att göra.
I manualen <http://www.aspupload.com/manual.html> (som din kod kommer från(?))  finns det flera exempel på hur du går tillväga.

Nyckeln är nog att använda sig av Upload.Form("DESCR") och inte request.Form("DESCR")

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

## #3 — timedia, 2002-03-11T13:51Z

OK Solbulle.
Ska försöka lite till och återkommer om jag lyckas  :l

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

## #4 — timedia, 2002-03-12T10:30Z

Nu har jag labbad mer men det vill sig inte :(
Här är felmeddelandet jag får:

```
ADODB.Recordset error '800a0cc1' 
Item cannot be found in the collection corresponding to the requested name or ordinal. 
/admin/Upload.asp, line 24
```

Line 24 är   rs("filnamn") = File.Filename
Formuläret jag använder har bara två fält:

```
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="Upload.asp"> 

Datum ex. 2002-03-16<br>
<input type="text" name="proto" size="20"><br><br>

<INPUT TYPE=FILE SIZE= 60 NAME="THEFILE"><br> 

<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>
```

upload.asp ser ut såhär: (access 2000 db med tabellen aktuellt, Id=räknare, proto=text, filnamn=text)

```
<HTML>
<BODY>
<%
Set Upload = Server.CreateObject("Persits.Upload")
' Capture files
Upload.Save(Server.MapPath("/admin/proto_up"))
' Obtain file object
Set File = Upload.Files("THEFILE")

If Not File Is Nothing Then
  ' Build ODBC connection string
  Connect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../sys/komforb.mdb")
  
   ' Use ADO Recordset object
   Set rs = Server.CreateObject("adodb.recordset")

     ' Reopen recordset to insert file
   rs.Open "aktuellt", Connect, 2, 3

   rs.AddNew
   
   rs("filnamn") = File.Filename
   rs("proto") = Upload.Form("proto")
   rs.Update

   Response.Write "File saved."
Else
   Response.Write "File not selected."
End If
%></BODY>
</HTML>
```

Är det ingen som kan hjälpa? Jag lovar att jag har försökt mycket nu :)

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

## #5 — erka, 2002-03-12T11:19Z

Många webhotell stänger av alla möjligheter att ladda upp med aspupload utom save.virtual, det är inte det som strular då ? Eller att webhotellet har tex v.2.1 och inte 3.0 som manualen på <https://www.aspupload.com> är för

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

## #6 — solbulle, 2002-03-12T12:52Z

Det där verkar väldigt rätt, är du HELT säker på att namnen i databasen är rätt samt sökvägarna?

Får du upp filen om du skippar databasinlägget?

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

## #7 — timedia, 2002-03-13T08:03Z

Brukar inte ge upp, men nu är det nära :(
Webhotellet är Digikom så jag tror inte felet ligger där. Dom använder en äldre version av ASPUpload, men det borde ju fungera ändå? ((Namnen i DB är rätt och alla sökväger stämmer också)

Är det verkligen ingen som har laddad upp en fil till servern och samtidigt sparat filnamnet i DB? Om DU har gjord det, kan du inte visa mig hur du gjorde?

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

## #8 — CatZ, 2002-03-13T10:44Z

Lösning ?

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

## #9 — solbulle, 2002-03-13T11:48Z

Jag har prövast din kod rakt av, bara ändrat sökväg till databasen å det fungerar för mig.
Har du testat att sätta dina rs till fasta värden för att så at säga ringa in felet?

tex 
rs("filnamn") = "timedia"

Så brukar jag göra för att kunna utesluta del efter del.

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

## #10 — erka, 2002-03-13T11:49Z

Denna fungerar men är inte optimerad ännu, har inte haft tid att fixa det. Den använder sig av Save Virtual som på de flesta webhotell är det enda som tillåts när man använder ASPUpload, den här är gjort för version 2.1 av AspUpload men fungerar även på 3.0. Självklart får du modifiera den men du ser hur man kan göra, prova med save virtual !

```
Dim Cn, StrComment, strGalleryName, Rs, IntMappId, i, strFilNamn, strFilDesc,strErrorMess, strSQL,strFileEnd,Cnt,CntFiles
Set Cn = Server.CreateObject("ADODB.Connection") 
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("*********")
strComment = Session("strKommentar")
strComment = replace(strComment,"'","''")
strGalleryName = Session("strGalleryName")
strGalleryName = replace(strGalleryName,"'","''")

strSQL ="INSERT INTO AlbGallerys (Fk_UserId,GalleryName,GalleryDesc,GalleryDate) "_
				&"VALUES ("& Session("UserId") &",'"& strGalleryName &"','"& strComment &"',#"& Date &"#)"
Cn.Execute(strSQL)
Session.contents.Remove("strGalleryName")
Session.contents.Remove("strKommentar")
Rs = "SELECT @@identity"
Set Rs = Cn.Execute(RS)
IntMappId = Rs.Fields(0).value
Rs.Close
Set Rs = Nothing

strPath = Server.Mappath("/Foton/FotoAlbum/Album/" & IntMappId)
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

'**************************************************************************
'-----KOLLA OM MAPPEN FINNS, OM DEN GÖR DET AVBRYT UPPLADDNINGEN-----------	
'**************************************************************************
If FSO.FolderExists(strPath) Then
	Response.Write"<b>Något gick fel</b><br>Något gick fel i uppläggningen av nytt album. Det kan bero på många saker såsom att du inte fyllt i beskrivning på bilderna eller helt enkelt att det är för många användare som just nu försöker lägga upp nya album. Var vänlig och prova igen om några minuter.<br><br>"

'**************************************************************************
'-----OM DEN INTE FANNS, LADDA UPP BILDERNA Å LÄGG TILL INFON I DB---------	
'**************************************************************************
Else

	Response.Write"<b>Album uppladdat</b><br><br><a href=""VisaAlbum.asp?IntAlbumId="& IntMappId &""" class=""Rightmeny"">&raquo;&nbsp;Kolla på albumet</a><br><br>"
	Set Upload = Server.CreateObject("Persits.Upload.1")
	Set Mapp = FSO.CreateFolder(strPath)

	On Error Resume Next
	Upload.SaveVirtual("/Foton/FotoAlbum/Album/"& IntMappId)
	Upload.SetMaxSize 5000, True 

	For Each File in Upload.Files
		strFilPath = File.Path
		arrPath = split(strFilPath, "\")
		strFil = arrPath(ubound(arrPath))
		Cnt = Cnt + 1
		strFileDesc = Upload.Form("DESCR"& Cnt &"")
		strFileDesc = Replace(strFileDesc,"'","''")
		
		strSQL = "INSERT INTO AlbPictures (Fk_GalleryId,PicImage,PicSize,PicComment) "_
					&"VALUES ("& IntMappId &", '"& strFil &"', '"& File.Size &"', '"& strFileDesc &"')"
		Cn.Execute(strSQL)
		If Err.Number = 8 Then
				strErrorMess = "<br><br><b>Obs!</b><br>En del av dina filer blev inte uppladdade pågrund av att bilden var större än tillåten storlek (<b>70Kb</b> / bild)"
		End If
	Next	
	
	strSQL = "UPDATE [User] Set PointPhoto = PointPhoto + "& Cnt &" WHERE Pk_UserId = "& Session("UserId") &""
	Cn.Execute(strSQL)
	

	
	   
'**************************************************************************
'TA BORT KATALOGEN/INFON FRÅN DB OM DET INTE BLEV NÅGON FIL UPPLADDAD
'**************************************************************************
	Set FSO = Server.CreateObject("Scripting.FileSystemObject")
	Set Folder = FSO.GetFolder(strPath)
	set Files = Folder.Files
	CntFiles = "0"
	For Each Item In Files
		CntFiles = CntFiles + 1
	Next
	If CntFiles = "0" Then
		Folder.Delete
		Set FSO = Nothing
		Set Files = Nothing
		Set Folder = Nothing
		strSQL = "DELETE FROM AlbPictures WHERE Fk_GalleryId = "& IntMappId &""
		Response.write strSQL
		Cn.Execute(strSQL)
		strSQL = "DELETE FROM AlbGallerys WHERE Pk_GalleryId = "& IntMappId &""
		Response.write strSQL
		Cn.Execute(strSQL)
		Cn.Close
		Set Cn = Nothing
		Response.Redirect("SkapaAlbum.asp")
	End If
	Set FSO = Nothing
	Set Files = Nothing
	Set Folder = Nothing
	If strErrorMess <> "" Then Response.Write strErrorMess
End If
```

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

## #11 — timedia, 2002-03-13T12:00Z

HURRA! :birp 
Ser att du har laddat upp ett script Erka. Tackar, men jag fixade det precis (rättigheterna lurade mig  :r ) Tack2 till Solbulle!!
Bifogar det som funkade till slut:

```
<%
Set Upload = Server.CreateObject("Persits.Upload")
' Capture files
Upload.SaveVirtual("proto_up")

' Obtain file object
Set File = Upload.Files("THEFILE")

If Not File Is Nothing Then
  ' Build ODBC connection string
  Connect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../sys/komforb.mdb")
  
   ' Use ADO Recordset object
   Set rs = Server.CreateObject("adodb.recordset")

     ' Reopen recordset to insert file
   rs.Open "aktuellt", Connect, 2, 3

   rs.AddNew
   
   rs("bild") = File.ExtractFileName
   rs("rubrik") = Upload.Form("rubrik")
   rs.Update

   Response.Write "File saved."
Else
   Response.Write "File not selected."
End If
%>
```

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

## #12 — solbulle, 2002-03-13T12:13Z

Kul att det löste sig.  :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39409-aspupload-igen
