Jag fattar inte hur man ska gå runt problemet att man inte kan använda sig av upload.form och upload.files före man har kört metoden save (upload.save) då kan man ju inte kontrollera filStrlk,filTyp,filNamn etc....
hur kan man gå runt detta....??
7 svar · 314 visningar · startad av yonas
Jag fattar inte hur man ska gå runt problemet att man inte kan använda sig av upload.form och upload.files före man har kört metoden save (upload.save) då kan man ju inte kontrollera filStrlk,filTyp,filNamn etc....
hur kan man gå runt detta....??
Du lär få ladda upp filen och sen radera den direkt om inte den eller resterande grejer i formen är ok.
Kan du kanske inte kolla de övriga fälten med javascript innan uppladdningen?
ingen bra idé då javascript är klientberoende vilket jag inte vill, sedan kan man inte anropa upload.save flera ggr under samma instansiering.... vilket jag skulle behöva i ditt exempel
alltså det jag vill åstadkomma är en kontroll, om inte filtypen är JPG, ladda inte upp bilden, samt generera meddelande... men hur??
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save(Server.MapPath("product_images/"))
'get filename of file that is uploaded
For Each File in Upload.Files
strFilename = File.FileName
strFileType = File.ImageType
Next
if strFileType = "JPG" then
'set object ASPJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
' Open source image
'response.Write("product_images/"&strFilename)
Jpeg.Open Server.MapPath("product_images/"&strFilename)
' Resizing is optional. None in this code sample.
jpeg.Height = 200
jpeg.Width = 200
Jpeg.Save Server.MapPath("product_images/"&strFilename)
end if
'put all propertiy selections to var
For Each Item in Upload.form
if Item.Name = "prop1" then
strTemp = strTemp + Item.Value & ","
end if
Next
strProp1 = left(strTemp, len(strTemp)-1)
'put all propertiy selections to var
For Each Item in Upload.form
if Item.Name = "prop2" then
strTemp2 = strTemp2 + Item.Value & ","
end if
Next
strProp2 = left(strTemp2, len(strTemp2)-1)
'getformdata and put to vars
strType = Upload.Form("type")
strBrand = Upload.Form("brand")
strModel = Upload.Form("model")
strDescription = Upload.Form("desc")
strFile = Upload.Form("image")
strprice = Upload.Form("price")
query_insert = "INSERT INTO products (prod_category, prod_type,prod_brand,prod_model,prod_desc,prod_image,prod_price,prod_stock,prod_prop1,prod_prop2) VALUES ('" & session("strCategory") & "','" & strType & "','" & strBrand & "','" & strModel & "','" & strDescription & "','" & strFilename & "','" & strprice & "'," & 1 & ",'" & strProp1 & "','" & strProp2 & "');"
connection.Execute(query_insert)
session("strConfirmMessage") = "Produkten lagrades i databasen"
response.redirect("admin.asp")
Ladda upp den, kolla och flytta den om den är ok.
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Server.MapPath("/mapp/" & oldName), _
Server.MapPath("/mapp/" & newName)
Set objFSO = Nothing
Kanske fixar ditt problem ?
Av vilken anledning skulle du behöva anropa upload.save flera ggr?
Jag är skapligt säker på att du inte kan kolla filen om du inte laddar upp den, inte med asp i alla fall, och javascript var tydligen inte ett alternativ.
hmm..
solbulle skrev:
Av vilken anledning skulle du behöva anropa upload.save flera ggr?
Jag är skapligt säker på att du inte kan kolla filen om du inte laddar upp den, inte med asp i alla fall, och javascript var tydligen inte ett alternativ.
för att jag först skulle vara tvungen att anropa upload.save för att kunna använda mig av upload.form & files kollektionen och sedan en gång till för att ladda upp filen om filtyp, filstrlk etc stämmer...
Men jag lär få göra som MOG skrev, dvs ladda upp filen till en temp katalog och sedan flytta den med FSO om filen fyller kraven.. annars radera tempfilen.... TACKAR
Med Persits AspUpload så kontrollerar du storleken med
Upload.SetMaxSize 10485760
direkt efter att du skapat Upload objektet.
Kan nog finnas någon inställning för filtyp också.