23. november 2005 - 21:46
Der er
17 kommentarer og 1 løsning
Afviser komma i filename!
Når jeg prøver på, at upload et billedet med i komma i navnet (3,7kg.jpg) for jeg denne fejl: Server.MapPath() error 'ASP 0173 : 80004005' Invalid Path Character /upload/formtest.asp, line 60 An invalid character was specified in the Path parameter for the MapPath method. Nu har jeg siddet et par dage og ledt her på sitet, men har desværre ikke fundet noget om det :o((
Annonceindlæg fra Kommando
24. november 2005 - 00:43
#1
De skriver under 'Remarks' følgende på:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/270433db-6a1a-42b1-86fa-9c4ca07b75e1.asp ...
The MapPath method returns the ASP 0173 error, "Invalid Path Character", if the Path parameter contains any of the following characters:
- Asterisk (*)
- Question mark (?)
- Angle brackets (< or >)
- Comma (,)
- Colon or semi-colon (: or ;)
- Single-quote or double-quote (' or ")
- Right square bracket (])
- Double slashes (// or \\)
...
Så det er åbenbart som det skal være - man får fejl på bla. komma...
24. november 2005 - 00:55
#2
Men hvis maskinen accepterer filnavnet kan du vel lave en streng vha. MapPath og konkatenere det med filnavnet: Server.MapPath("") & "3,7kg.jpg"
24. november 2005 - 19:04
#3
Det må da være muligt at upload en sti med komma i, da jeg kan det på mit MaxWebPortal, men hvordan det er lavet er mig usagt! roenving -> Hvordan vil du så omskrive denne sætning \ file.SaveAs(server.mappath("original/" & file.FileName))\
25. november 2005 - 15:39
#4
file.SaveAs(server.mappath("original/") & file.FileName)
25. november 2005 - 16:26
#5
Det vil den godt nok ikke æde :O[ Server.MapPath() error 'ASP 0173 : 80004005' Invalid Path Character /upload/formtest.asp, line 72 An invalid character was specified in the Path parameter for the MapPath method.
25. november 2005 - 16:30
#6
-- det er vel så / som afslutning ?-) -- for file.FileName er ikke indeholdt i mappath !-)
25. november 2005 - 16:34
#7
HMmm jeg ser først nu det ikke er den samme linie.... uploadings script ser sådan ud: <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then Dim mySmartUpload Dim file Dim intCount intCount=1 Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,png" mySmartUpload.DenyPhysicalPath = False mySmartUpload.MaxFileSize = 2000000 mySmartUpload.Upload For each file In mySmartUpload.Files If file.IsMissing = false Then file.SaveAs(server.mappath("original/") & file.FileName) 'Her kan man så sætte noget ASPImage ind. filnavn = "original" & "/" & file.FileName filnavnThumb100 = "thumbnails100" & "/" & file.FileName filnavnThumb600 = "thumbnails600" & "/" & file.FileName Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage (Server.Mappath(filnavn)) 'Find billede højde og brede Width = Image.MaxX Height = Image.MaxY <------------linie 72 IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 100 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 125 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 100 Image.FileName = Server.Mappath(filnavnThumb100) Image.SaveImage 'Lav næste fil Image.LoadImage (Server.Mappath(filnavn)) 'lave 550xXXX billedet: IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 450 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 600 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 90 Image.FileName = Server.Mappath(filnavnThumb600) Image.SaveImage Set Image = Nothing if CStr(intCount) = "0" then streng = streng & "'" & "original/" & file.FileName & "', " else streng = streng & "'" & "original/" & file.FileName & "'" end if intCount = intCount + 0 End If Next
25. november 2005 - 17:32
#8
filnavn = "original" & "/" & file.FileName filnavnThumb100 = "thumbnails100" & "/" & file.FileName filnavnThumb600 = "thumbnails600" & "/" & file.FileName disse tre variabler henviser alle til filnavnet med komma. Længere ned i koden, benytter du så variablerne i MapPath. Det må næsten give problemer. En mulig løsning: du mapper stien til . (det aktive bibliotek) og klistrer variablen på Image.FileName = Server.Mappath(filnavnThumb600) kommer så til at hedde Image.FileName = Server.Mappath(".") & "/" & filnavnThumb600 etc..
25. november 2005 - 17:43
#9
ranglen -> så skal den her vel også laves om Image.LoadImage (Server.Mappath(filnavn)) eller.....
27. november 2005 - 12:48
#10
er du sikker på det ikke er denne som er linie 72? Image.LoadImage (Server.Mappath(filnavn)) Igen der skal du bruge den metode som roenving har vist, eller du kan i starten ligge filnanet ind i en variable: filnavnet = server.mappath("original/") & file.FileName og så rette linien som load billedet til: Image.LoadImage (filnavnet)
27. november 2005 - 12:56
#11
Eagleeye - jeg har lavet "lidt" om på script siden sidst, da jeg mangle at gi billedet et unik id. Det er nok ikke særligt kønt, men det virker.... Script ser sådan ud nu: <%Server.ScriptTimeout = 10000%> <!--#include file="protect.inc" --> <!--#include file="inc_top.asp" --> <!--#include file="inc_menu.asp" --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Upload</title> <meta name="Author" content="LystfiskerensNet"> <link href="style.css" rel="stylesheet" type="text/css"> <style> h3 {font-family: arial; font-size: 16px; color: blue} th {font-family: arial; font-size: 12px; color: white} td {font-family: arial; font-size: 11px; color: black} input.x {font-family: arial; font-size: 12px; color: blue; border-top: 0px; border-left: 0px; border-right: 0px; border-bottom: 0px; background-color: #e6eeff; width: 150px} input.y {font-family: arial; font-size: 12px; color: blue; background-color: #e6eeff} textarea {font-family: arial; font-size: 12px; color: blue; border-top: 0px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-color: blue; background-color: #e6eeff; width: 300px} select {font-family: arial; font-size: 12px; color: blue; border-top: 0px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-color: blue; background-color: #e6eeff} .tr1 {background-color: #e6eeff} .tr2 {background-color: #eee6ff} .head {background-color: #0000cc} .fancytable {border: 1px solid blue} </style> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> </head> <body> <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then Dim mySmartUpload Dim file Dim intCount intCount=1 Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,png" mySmartUpload.DenyPhysicalPath = False mySmartUpload.MaxFileSize = 2000000 mySmartUpload.Upload For each file In mySmartUpload.Files If file.IsMissing = false Then file.SaveAs(server.mappath("original/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName)) 'Her kan man så sætte noget ASPImage ind. filnavn = "original" & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName filnavnThumb100 = "thumbnails100" & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName filnavnThumb600 = "thumbnails600" & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage (Server.Mappath(filnavn)) 'Find billede højde og brede Width = Image.MaxX Height = Image.MaxY '<------------linie 72 IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 100 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 125 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 100 Image.FileName = Server.Mappath(filnavnThumb100) Image.SaveImage 'Lav næste fil Image.LoadImage (Server.Mappath(filnavn)) 'lave 550xXXX billedet: IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 450 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 600 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 90 Image.FileName = Server.Mappath(filnavnThumb600) Image.SaveImage Set Image = Nothing if CStr(intCount) = "0" then streng = streng & "'" & "original/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName & "', " else streng = streng & "'" & "original/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName & "'" end if intCount = intCount + 0 End If Next set Conn = Server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("foto.mdb") Conn.Open strConn kategori = Replace(mySmartUpload.form("kategori"),"'","''") ' notat titel = Replace(mySmartUpload.form("titel"),"'","''") ' notat indsendt = Replace(mySmartUpload.form("indsendt"),"'","''") ' notat fangstplads = Replace(mySmartUpload.form("fangstplads"),"'","''") ' notat art = Replace(mySmartUpload.form("art"),"'","''") ' tekst vagt = Replace(mySmartUpload.form("vagt"),"'","") ' notat langde = Replace(mySmartUpload.form("langde"),"'","") ' notat kondi = Replace(mySmartUpload.form("kondi"),"'","") ' notat agn = Replace(mySmartUpload.form("agn"),"'","") ' notat farve = Replace(mySmartUpload.form("farve"),"'","") ' notat bemarkning = Replace(mySmartUpload.form("bemarkning"),"'","") ' notat bemarkning = Replace(bemarkning,vbCrLf,"<br>") billede = streng ' notat if kategori="" or titel="" or indsendt="" then Response.Write "Fejl i indtastningen." Response.End else 'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst sql = "insert into tekst (kategori, titel, indsendt, dato, fangstplads, art, langde, vagt, kondi, agn, farve, bemarkning, billede ) values (" sql = sql & "'" & kategori & "', " sql = sql & "'" & titel & "', " sql = sql & "'" & indsendt & "', " sql = sql & "'" & day(now) & "-" & month(now) & "-" & year(now) & "', " sql = sql & "'" & fangstplads & "', " sql = sql & "'" & art & "', " sql = sql & "'" & langde & "', " sql = sql & "'" & vagt & "', " sql = sql & "'" & kondi & "', " sql = sql & "'" & agn & "', " sql = sql & "'" & farve & "', " sql = sql & "'" & bemarkning & "', " sql = sql & "" & billede & "" sql = sql & ")" Conn.Execute(sql) Conn.Close Set conn=nothing Response.redirect "godkend.asp" end if end if %> <script language="javascript"> function validate(theform) { if(theform.kategori.value=='' || theform.kategori.value=='---') { alert ('Kategori skal vælges'); return false; } if (theform.titel.value=='') { alert ('Titel skal udfyldes.'); return false; } if(theform.billede.value=='') { alert ('Hvilket billedet skal uploads'); return false; } return true; } </script> <h3 align="center">Tilføj billede!</h3> <table width="70%" border="0" cellpadding="2" cellspacing="0"> <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post" ENCTYPE="multipart/form-data" onsubmit="return validate(this);"> <tr> <td class="bold"> </td> <td> </td> </tr> <tr> <td valign="top" class="bold">Kategori</td> <td> <select name="kategori"> <option>Vælg Kategori</option> <option>FangstRapporter 2005 :</option> <option value="FangstRapporter2005/Aborre"> FangstRapporter 2005/Aborre</option> <option value="FangstRapporter2005/Andet godt fra havet"> FangstRapporter 2005/Andet godt fra havet</option> <option value="FangstRapporter2005/Fladfisk"> FangstRapporter 2005/Fladfisk</option> <option value="FangstRapporter2005/Gedde"> FangstRapporter 2005/Gedde</option> <option value="FangstRapporter2005/Havørred"> FangstRapporter 2005/Havørred</option> <option value="FangstRapporter2005/Hornfisk"> FangstRapporter 2005/Hornfisk</option> <option value="FangstRapporter2005/Laks"> FangstRapporter 2005/Laks</option> <option value="FangstRapporter2005/Makrel"> FangstRapporter 2005/Makrel</option> <option value="FangstRapporter2005/Multe"> FangstRapporter 2005/Multe</option> <option value="FangstRapporter2005/Torsk"> FangstRapporter 2005/Torsk</option> <option> - - - - - - </option> <option>FangstRapporter 2004 :</option> <option value="FangstRapporter2004/Aborre"> FangstRapporter 2004/Aborre</option> <option value="FangstRapporter2004/Andet godt fra havet"> FangstRapporter 2004/Andet godt fra havet</option> <option value="FangstRapporter2004/Fladfisk"> FangstRapporter 2004/Fladfisk</option> <option value="FangstRapporter2004/Gedde"> FangstRapporter 2004/Gedde</option> <option value="FangstRapporter2004/Havørred"> FangstRapporter 2004/Havørred</option> <option value="FangstRapporter2004/Hornfisk"> FangstRapporter 2004/Hornfisk</option> <option value="FangstRapporter2004/Laks"> FangstRapporter 2004/Laks</option> <option value="FangstRapporter2004/Makrel"> FangstRapporter 2004/Makrel</option> <option value="FangstRapporter2004/Multe"> FangstRapporter 2004/Multe</option> <option value="FangstRapporter2004/Torsk"> FangstRapporter 2004/Torsk</option> <option> - - - - - - </option> <option>Diverse :</option> <option value="Diverse/Stemningsbilleder"> Diverse/Stemningsbilleder</option> <option value="Diverse/Fiskebilleder fra dengang"> Diverse/Fiskebilleder fra "dengang"</option> <option value="Diverse/Ulovlig Garn"> Diverse/Ulovlige Garn</option> <option> - - - - - - </option> </select> <font color="#FF0000" size="4"> *</font></td> </tr> <tr> <td class="bold"> </td> <td> </td> </tr> <tr> <td class="bold">Titel:</td> <td><input name="titel" type="text" class="x" id="titel"> <font color="#FF0000" size="4">*</font></td> </tr> <tr> <td class="bold"> </td> <td><input name="indsendt" type="hidden" value="<%=Session("MEMBER")%>" class="x" id="indsendt"></td> </tr> <tr> <td>Fangstplads:</td> <td><input name="fangstplads" type="text" class="x" id="fangstplads"></td> </tr> <tr> <td class="bold">Art:</td> <td> <select name="art" id="art"> <option></option> <option value="Aborre"> Aborre</option> <option value="Andet godt fra havet"> Andet godt fra havet</option> <option value="Fladfisk"> Fladfisk</option> <option value="Gedde"> Gedde</option> <option value="Havørred"> Havørred</option> <option value="Hornfisk"> Hornfisk</option> <option value="Laks"> Laks</option> <option value="Makrel"> Makrel</option> <option value="Multe"> Multe</option> <option value="Torsk"> Torsk</option> </select></td> </tr> <tr> <td class="bold">Vægt:</td> <td><input name="vagt" type="text" class="x"> Kg.</td> </tr> <tr> <td class="bold">Længde:</td> <td><input name="langde" type="text" class="x"> Cm.</td> </tr> <tr> <td class="bold"> </td> <td> </td> </tr> <tr> <td><strong>Konditionsfaktoren:</strong></td> <td><input name="kondi" type="text" class="x"> <a href="#" onClick="MM_openBrWindow('../Lystfiskergordetselv/konditionsfaktoren.asp','','width=450,height=600')">lommerregner</a></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td class="bold">Agn:</td> <td><input name="agn" type="text" class="x"> <span class="bold">Farve:</span> <input name="farve" type="text" class="x"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td valign="top" class="bold">Bemærkning:</td> <td><textarea name="bemarkning" cols="80" rows="10"></textarea> </td> </tr> <tr> <td> </td> <td>Maximum Upload størrelse på fil: 2,0 mb (min: 600 x 450 pixel)<br> Tilladte filtyper: gif,jpg </td> </tr> <tr> <td class="bold">Upload Billede:</td> <td><input type="file" name="billede" size="50"> <font color="#FF0000" size="4"> *</font></td> </tr> <tr> <td> </td> <td>( <font color="#FF0000" size="4">*</font> skal udfyldes )</td> </tr> <tr> <td> </td> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><input type="submit" name="send" value="Send"></td> <td><input type="reset" name="Reset" value=" Slet "></td> </tr> </table></td> </tr> </form> </table> </BODY> </HTML> <!--#include file="inc_footer.asp" -->
27. november 2005 - 13:07
#12
ok, det er også en god måde at løse problemet på.
27. november 2005 - 13:12
#13
jeg tænkte bare på og det er politisk korrekt lavet ;o) Hvor skal jeg sætte variable sætningen ind - eagleeye?
27. november 2005 - 17:02
#14
Nu er den der næsten, men jeg kan godt ikke få den til, at gemme det opload billede i mappen "original" - billedet liger sig fint i de to andre mapper!!!! script ser sådan ud if Request.ServerVariables("REQUEST_METHOD") = "POST" then Dim mySmartUpload Dim file Dim intCount intCount=1 Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,png" mySmartUpload.DenyPhysicalPath = False mySmartUpload.MaxFileSize = 2000000 mySmartUpload.Upload For each file In mySmartUpload.Files If file.IsMissing = false Then file.SaveAs(server.mappath ("original/") & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName) 'Her kan man så sætte noget ASPImage ind. Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage (server.mappath("original/") & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName) 'Find billede højde og brede Width = Image.MaxX Height = Image.MaxY IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 100 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 125 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 100 Image.FileName = Server.Mappath("thumbnails100") & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName Image.SaveImage 'Lav næste fil Image.LoadImage (server.mappath("original/") & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName) 'lave 550xXXX billedet: IMGHEIGHT = Image.MaxY IMGWIDTH = Image.MaxX If IMGHEIGHT > IMGWIDTH Then newSize = 450 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight Else newSize = 600 NewWidth = newSize NewHeight = (newSize / Width) * Height Image.Resize newSize,NewHeight End If 'Gem billedet Image.ImageFormat = 1 Image.JPEGQuality = 90 Image.FileName = (Server.Mappath("thumbnails600") & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName) Image.SaveImage Set Image = Nothing if CStr(intCount) = "0" then streng = streng & "'" & "original" & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName & "', " else streng = streng & "'" & "original" & "/" & day(now) & month(now) & year(now) & hour(now) & minute(now) & second(now) & file.FileName & "'" end if intCount = intCount + 0 End If Next
02. december 2005 - 21:29
#15
Roenving og Eagleeye kan I ikke ligge et svar, så jeg kan lukke spørgsmålet??? Jeg har sidenhen fundet ud af, at det ikke er så "smart" med second(now) hvis billeder er for store, da script lave to forskellige navne på de to billeder det laver :o( Hvis I har tid/lyst - hvordan jeg for smidt det upload billede i mappen original???
03. december 2005 - 00:58
#16
Hvad mener du ?-) -- for det er vel ikke et problem at angive en destinationsmappe ?o]
03. december 2005 - 10:56
#17
Mit første script smed det upload billede i mappen original, men efter I/vi har lavet det om smider den billederne i mappen upload som indeholder hele upload sektionen som er: images thumbnails100 thumbnails600 original + en hel masse sider Ideen med at gemme de upload billeder,de er letter at overskue + jeg kan download dem til min PC'er og derefter slette dem på serveren så de ikke bruger unødigt pladsen på den!!!
22. januar 2006 - 13:58
#18
Hmmm jeg lukket spørgsmålet, da roenving og eagleeye ikke har lagt et svar
Kurser inden for grundlæggende programmering