---
title: "Lagras inte rätt namn i databasen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/178477-lagras-inte-rätt-namn-i-databasen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SGuncel"
published: "2009-05-10T11:52:11.000Z"
updated: "2009-05-10T12:36:42.000Z"
replies: 7
views: 531
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/178477-lagras-inte-rätt-namn-i-databasen"
---

# Lagras inte rätt namn i databasen

## #1 — SGuncel, 2009-05-10T11:52Z

Hej!

Jag har gjort så att bilden man laddar upp ska skäras om och sparas med orginala namnet. Men jag har ej kunnat lösa det. Testade och ha **& File.FileName** men det var inte rätt.

```
<form name="frmUpload" method="post" enctype="multipart/form-data" action="?Upload=newpic">
<input type="file" name="PicName" style="width: 480;"></td>
<p></p>
<p></p>
<input type="submit" value="Ladda upp" style="width: 480;">
</form>

<%
	Set ObjConn = Server.CreateObject("ADODB.Connection") 
	ObjConn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("xxxx")

' Länken i formen.
IF Request.Querystring("Upload")="newpic" then

Set Upload = Server.CreateObject("Persits.Upload")

' Use AspJpeg to resize image
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Capture and save uploaded image to the same directory as script
Upload.SaveVirtual "../_images/_bilder"

For Each File in Upload.Files
	If File.Size > 580000 Then
		Response.Write "Filen är för stor"
		File.Delete
		Response.End
	End If

	If File.ImageType <> "JPG" Then
		Session("Error") = "Bilden du valde var inte JPG format!"
		File.Delete
		Response.End
	End If

	Jpeg.Open File.Path

	L = 750
	
	Jpeg.Quality = 100
	Jpeg.Width = L
	Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth

	Jpeg.Save(Server.MapPath("../_images/_bilder") & "\" & File.ExtractFileName)
Next

' Kontrollerar vilken man har valt och sen sparar den.
ObjConn.Execute("Insert into bilder (bild, bildthumb) values ('../_images/_bilder/& File.FileName.jpg', '../_images/_bilder/& File.FileName_thumb.jpg')")

ObjConn.Close
Set ObjConn = Nothing

Session("Finish") = "Nu är bilden upladdad!"

Response.Redirect "Upload.asp"
End if
%>
```

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

## #2 — MickeA.com, 2009-05-10T11:57Z

Enligt [manualen](http://www.aspupload.com/manual_simple.html) ska du använda **File.Name**.

Men felet i ditt fall är att du försöker använda File.Name utanför din loop.
Eftersom du loopar igenom Upload.Files måste du köra frågan (sql insert) för varje bild, inuti loopen.

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

## #3 — voigtann1, 2009-05-10T12:09Z

Inte bara det, men din SQL fråga kommer aldrig att fungera på det sätt du vill heller:

```
ObjConn.Execute("Insert into bilder (bild, bildthumb) values ('../_images/_bilder/& File.FileName.jpg', '../_images/_bilder/& File.FileName_thumb.jpg')")
```

Det den sparar ner är:
../\_images/\_bilder/& file.FileName.jpg

i fältet vilket du kanske hade hellre velat ha:
../\_images/\_bilder/bildensnamn.jpg
bryt Strängen och få igång asp objektet file, placera in file innanför loopen och fixar följande fel:
objektet file har inte någon property som heter FileName_thumb.jpg heller

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

## #4 — SGuncel, 2009-05-10T12:20Z

Måste jag ha:

```
ObjConn.Execute("Insert into bilder (bild, bildthumb) values ('../_images/_bilder/& File.FileName.jpg', '../_images/_bilder/& File.FileName_thumb.jpg')")
```

Inom "Next" då?

voigtann1:
Förstog inte riktigt vad du mena med det.

"bryt Strängen och få igång asp objektet file, placera in file innanför loopen och fixar följande fel:
objektet file har inte någon property som heter FileName_thumb.jpg heller"

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

## #5 — MickeA.com, 2009-05-10T12:23Z

Typ såhär:

```
<form name="frmUpload" method="post" enctype="multipart/form-data" action="?Upload=newpic">
<input type="file" name="PicName" style="width: 480;"></td>
<p></p>
<p></p>
<input type="submit" value="Ladda upp" style="width: 480;">
</form>

<%
	Set ObjConn = Server.CreateObject("ADODB.Connection") 
	ObjConn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("xxxx")

' Länken i formen.
IF Request.Querystring("Upload")="newpic" then

Set Upload = Server.CreateObject("Persits.Upload")

' Use AspJpeg to resize image
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Capture and save uploaded image to the same directory as script
Upload.SaveVirtual "../_images/_bilder"

For Each File in Upload.Files
	If File.Size > 580000 Then
		Response.Write "Filen är för stor"
		File.Delete
		Response.End
	End If

	If File.ImageType <> "JPG" Then
		Session("Error") = "Bilden du valde var inte JPG format!"
		File.Delete
		Response.End
	End If

	Jpeg.Open File.Path

	L = 750
	
	Jpeg.Quality = 100
	Jpeg.Width = L
	Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth

	Jpeg.Save(Server.MapPath("../_images/_bilder") & "\" & File.ExtractFileName)

	' Kontrollerar vilken man har valt och sen sparar den.[b]
	ObjConn.Execute("INSERT INTO bilder " &_
			"(bild, bildthumb) " &_
			"VALUES " &_
			"(" &_
			"'../_images/_bilder/" & File.FileName & ".jpg', " &_
			"'../_images/_bilder/" & File.FileName & "_thumb.jpg'" &_
			")")[/b]

	ObjConn.Close

Next

Set ObjConn = Nothing

Session("Finish") = "Nu är bilden upladdad!"

Response.Redirect "Upload.asp"
End if
%>
```

Men du måste fortfarande skapa tumnagel, spara den med nytt namn och sen hänsvisa till \_rätt\_ filnamn i din sqlfråga.

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

## #6 — voigtann1, 2009-05-10T12:29Z

en ASP sträng bryter du:

dim strText
strText = "hej " & "på " & " dig"
inte som du försöker:
strText = "hej & på & dig"

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

## #7 — MickeA.com, 2009-05-10T12:32Z

Om du kollar mitt exempel två inlägg upp så har jag fixat din fråga, så att den blir rätt.

```
ObjConn.Execute("INSERT INTO bilder " &_
		"(bild, bildthumb) " &_
		"VALUES " &_
		"(" &_
		"'../_images/_bilder/" & File.FileName & ".jpg', " &_
		"'../_images/_bilder/" & File.FileName & "_thumb.jpg'" &_
		")")
```

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

## #8 — voigtann1, 2009-05-10T12:36Z

jag gjorde ett annat exempel, bryter ut så att man kanske skulle kunna använda detta på fler än ett ställe:

```
<%
Dim sSaveFolder
sSaveFolder = "../_images/_bilder/"

Set ObjConn = Server.CreateObject("ADODB.Connection") 
ObjConn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("../_databas/lidingovasadb.mdb")
' Länken i formen.
IF Request.Querystring("Upload")="newpic" then
	Set Upload = Server.CreateObject("Persits.Upload")
	' Use AspJpeg to resize image
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
	' Capture and save uploaded image to the same directory as script
	Upload.SaveVirtual sSaveFolder
	For Each File in Upload.Files
		If File.Size > 580000 Then
			Response.Write "Filen är för stor"
			File.Delete
			Response.End
		End If
		If File.ImageType <> "JPG" Then
			Session("Error") = "Bilden du valde var inte JPG format!"
			File.Delete
			Response.End
		End If
		
		Dim sOrginalFile, sThumbnail
		'Save the file with a new time, orginal_filename.jpg
		sOrginalFile = Resize(Jpeg, file, "orginal", null, sSaveFolder)
		'Resize the image and saves it like: thumb_filename.jpg
		sThumbnail = Resize(Jpeg, file, "thumb", 750, sSaveFolder)
		
		'save it to the database
		ObjConn.Execute("Insert into bilder (bild, bildthumb) values ('" & sOrginalFile & "', '" & sThumbnail & "')")
		'Delete Original file, we allready saved it with the resize function, and renamed it.
		File.Delete
	Next

	Session("Finish") = "Nu är bilden upladdad!"
	ObjConn.Close
	Set ObjConn = Nothing
	Set Upload = Nothing
	Set Jpeg = Nothing
	Response.Redirect "Upload.asp"
End if

Function Resize(objJpeg, file, name, size, Folder)
		objJpeg.Open File.Path
		objJpeg.Quality = 100
		If IsNull(size) Then
			objJpeg.Width = size
			objJpeg.Height = objJpeg.OriginalHeight * size / objJpeg.OriginalWidth
		End If
		objJpeg.Save(Server.MapPath(Folder) & name & "_" & File.ExtractFileName)
		'Returns the filePath for the image
		Resize = Folder & name & "_" & File.ExtractFileName
End Function
%>
```

annan lösning, men i princip samma sak.

Sparar om orginal bilden och lägger in ett prefix på den samt skapar en thumb\_ prefix. sen skulle den kunna skapa en del andra skalningar utan att behöva göra en massa extra kod.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/178477-lagras-inte-rätt-namn-i-databasen
