I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Ok har nu instaleret aspsmartupload, men det virker ik rigtigt har ellers gjort som der står: Stage 2 : Install aspSmartUpload.dll 1st Solution: Using RegSVR32 Copy aspSmartUpload.dll into a directory on the NT server (e.g. c:\mydir). Save the component using the commands : REGSVR32.EXE c:\mydir\aspSmartUpload.dll (From DOS or the Start/Run prompt)
Stage 3 : Install aspSmartUploadUtil.dll The objective is to enable the Operating System to access the aspSmartUploadUtil.dll file.
There is two ways to archieve this : - Copy aspSmartUploadUtil.dll in the c:\winnt\system32 directory. That way you don't have to update the PATH propertie. - Copy aspSmartUploadUtil.dll into a directory on the NT server (e.g. c:\mydir). Add the component directory in the PATH using the commands : PATH=%PATH%;c:\mydir (From DOS)
og så genstartet.. Men når jeg så køre scripts, så får jeg altid denne her fejl:
Så har vi da konstateret at upload komponenten virker :o)
Prøv så at ændre den til dette: if Request.querystring("mode") = "save" then Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then file.SaveAs("/UploadMappe/" & file.FileName) end if next Response.write "Fil uploaded..." response.end end if
så skla man vel bare på en eller anden måde lave en funktion der omdøber ens fil? og tager et id nummer fra en querystring, og så der efter lægger det ind i en db?
<% if mode = "addfile" then %> <br><br> Add fil<br> <%response.write Request.QueryString("ordrenr")%> <FORM METHOD="POST" ACTION="?mode=savefil&ordrenr=<%=Request.QueryString("ordrenr")%>" ENCTYPE="multipart/form-data"> <input type="File" Name="file1" ><br> <input type="Submit" value="Gem"></FORM> <% end if %>
<% if mode = "savefil" then %>
<% if Request.querystring("mode") = "save" then Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Request.QueryString("ordrenr") file.SaveAs("/"& ID &"_"& file.FileName) end if next Response.write "Fil uploaded..." response.end end if %>
har gjort sådan der, men når jeg så uploader en fil, sker der ik rigtigt noget kommer bare en blank side, og ingen fil bliver uploadet?
Der er et dobbelt mode tjek (min rq("mode")="save" skal væk). Denne burde virker:
<% if mode = "addfile" then %> <br><br> Add fil<br> <%response.write Request.QueryString("ordrenr")%> <FORM METHOD="POST" ACTION="?mode=savefil&ordrenr=<%=Request.QueryString("ordrenr")%>" ENCTYPE="multipart/form-data"> <input type="File" Name="file1" ><br> <input type="Submit" value="Gem"></FORM> <% end if %>
<% if mode = "savefil" then Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Request.QueryString("ordrenr") file.SaveAs("/"& ID &"_"& file.FileName) end if next Response.write "Fil uploaded..." response.end end if %>
Når du oploader med ENCTYPE="multipart/form-data" skal det ikke være request foran dine forespørgsler men Upload
<% if mode = "addfile" then %> <br><br> Add fil<br> <%response.write Request.QueryString("ordrenr")%> <FORM METHOD="POST" ACTION="?mode=savefil&ordrenr=<%=Request.QueryString("ordrenr")%>" ENCTYPE="multipart/form-data"> <input type="File" Name="file1" ><br> <input type="Submit" value="Gem"></FORM> <% end if %>
<% if mode = "savefil" then %>
<% Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload if Upload.form("mode") = "save" then
For each file In Upload.Files If not file.IsMissing Then ID = Upload.form("ordrenr") file.SaveAs("/"& ID &"_"& file.FileName) end if next Response.write "Fil uploaded..." response.end end if %>
nu har jeg prøvet at gå den igennem et par gange, og der bliver stadig ik uploadet noget som helst. Den burde smide filen i den mappe scriptet bliver kørt fra ik?
<% if mode = "addfile" then %> <br><br> Add fil<br> <%response.write Request.QueryString("ordrenr")%> <FORM METHOD="POST" ACTION="?mode=savefil&ordrenr=<%=Request.QueryString("ordrenr")%>" ENCTYPE="multipart/form-data"> <input type="File" Name="file1" ><br> <input type="Submit" value="Gem"></FORM> <% end if %>
<% if mode = "savefil" then %>
<% Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Upload.form("ordrenr") file.SaveAs("/filer/" & ID &"_"& file.FileName)
end if next Response.write "Fil uploaded..." response.end end if
Mode bliver sendt på url'en (GET) og derfor får du fat i den med request.querystring(), hvad du sikkert allerede gør længere oppe i din kode hvor du har dette: mode = request.querystring("mode")
Alle GET parametre skal hentes med querystring, også selvom man bruger et upload komponent. Alle POST parametre skal hentes med upload.form().
Der er desudne endnu en fejl, da ordrenr også er en GET:
<% if mode = "addfile" then %> <br><br> Add fil<br> <%response.write Request.QueryString("ordrenr")%> <FORM METHOD="POST" ACTION="?mode=savefil&ordrenr=<%=Request.QueryString("ordrenr")%>" ENCTYPE="multipart/form-data"> <input type="File" Name="file1" ><br> <input type="Submit" value="Gem"></FORM> <% end if %>
<% if mode = "savefil" then %>
<% Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Request.querystring("ordrenr") file.SaveAs("/filer/" & ID &"_"& file.FileName)
end if next Response.write "Fil uploaded..." response.end end if
Det er bare at smide det i DB'en (min post 20/06-2006 14:29:43)
If not file.IsMissing Then ID = Request.querystring("ordrenr") filNavn = ID &"_"& file.FileName file.SaveAs("/filer/" & filNavn) conn.execute("insert into files(fil) values('"& filNavn &"')") end if
<% Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Request.querystring("ordrenr") filNavn = ID &"_"& file.FileName file.SaveAs("/filer/" & ID &"_"& file.FileName)
SQL = "SELECT * FROM fil_ordre" set rs6 = Conn.execute(SQL) Dim rs6 Set rs6 = Server.CreateObject("ADODB.Recordset") rs6.Open SQL, Conn, 3, 3 rs6.AddNew rs6("fil") = filNavn rs6("ordernr") = Request.QueryString("ordrenr") rs6.Update rs6.Close Set rs6 = Nothing Conn.Close set Conn = Nothing
end if next Response.write "Fil uploaded..." response.end end if
%>
jeg gjorde nu sådan der, men det ser ud til at virke fint så mange tak for hjælpen!
nu har jeg lige et lille problem jeg håber du lige kan svare på selv om jeg har godkendt svaret:
<% Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload") Upload.Upload For each file In Upload.Files If not file.IsMissing Then ID = Request.querystring("ordrenr") filNavn = ID &"_"& file.FileName
file.SaveAs("/orderfiles/" & ID &"_"& file.FileName)
SQL = "SELECT * FROM fil_ordre" set rs6 = Conn.execute(SQL) Dim rs6 Set rs6 = Server.CreateObject("ADODB.Recordset") rs6.Open SQL, Conn, 3, 3 rs6.AddNew rs6("txt") = Request.Form("filtxt") rs6("fil") = filNavn rs6("ordernr") = Request.QueryString("ordrenr")
rs6.Update rs6.Close Set rs6 = Nothing Conn.Close set Conn = Nothing
end if next Response.write "Fil uploaded..." response.end
end if
%>
det giver mig følgende fejl:
Request object error 'ASP 0207 : 80004005'
Cannot use Request.Form
/system/ordre_list_admin.asp, line 1200
Cannot use Request.Form collection after calling BinaryRead.
hvorfor kan jeg ikke sætte mere text ind fra en form mere?
GET parametre skal hentes med request.querystring() POST parametre skal hentes med Upload.form() når du oploader, hvor Upload henviser til uploadkomponentens navn. Så hed den myUpload er det det navn der bruges
set myUpload = Server.CreateObject("aspSmartUpload.SmartUpload") var = myUpload.form("formfelt")
Din kode skal derfor være: rs6("txt") = Upload.Form("filtxt")
Vær desuden opmærksom på at man ofte først kan få fat i formfelterne efter upload kaldet. Men det kommer lidt an på hvilken komponent man bruger.
Dette virker ikke: var = Upload.Form("formfelt") Upload.upload
Dette virker: Upload.upload var = Upload.Form("formfelt")
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.