---
title: "aspsmart & fso"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/170848-aspsmart-fso"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Brizer"
published: "2008-04-16T23:11:44.000Z"
updated: "2008-05-15T00:24:25.000Z"
replies: 9
views: 988
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/170848-aspsmart-fso"
---

# aspsmart & fso

## #1 — Brizer, 2008-04-16T23:11Z

Hej. För det första vill jag berätta att jag verkligen sökt i forumet men inte hittat hjälp, så tänkte att jag skulle skapa en tråd.

Med ett aspSmartUpload-script så laddar jag då upp en valfri fil till en temporär mapp. Därefter vill jag att denna fil som laddas upp flyttas automatiskt till den inloggade användarens mapp.

Koden:

If Request.QueryString("send") \<\> "" Then
  Dim mySmartUpload
  Dim intCount
  
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.Upload
  intCount = mySmartUpload.Save("/brizer/wwwroot/temp")

  Response.Write("&nbsp;&nbsp;" & intCount & " file uploaded. \<br\>\<br\>")
  ' här är filen uppladdad, helt utan problem. Hur vet jag namnet på filen jag just laddat upp? Skulle vilja sätta en variabel så att jag kan anropa det senare i fso-koden.

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  objFSO.MoveFile Server.MapPath("wwwroot/temp/FILANROP") ,Server.MapPath("wwwroot/1/FILANROP")
end if

Där det står filanrop vill jag ha namnet på filen jag just laddat upp, hur tar jag reda på det? Tack på hörhand.

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

## #2 — Travoni, 2008-04-17T00:01Z

```
Set oSmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

oSmartUpload.Upload

For each file In oSmartUpload.Files
If not file.IsMissing Then
file.SaveAs("c:\Temp\" & file.FileName)
Response.Write("Name = " & file.Name & "<BR>")
Response.Write("Size = " & file.Size & "<BR>")
intCount = intCount + 1
End If
Next
```

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

## #3 — Brizer, 2008-04-18T01:39Z

Det där funkade. Men nu till ett nytt problem, jag vill flytta filen till en mapp där jag anropar ett annat variabel;

\-
pathid = Request.QueryString("pathid")
fileupl = file.FileName

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Server.MapPath("wwwroot/temp/" & fileupl) , Server.MapPath("wwwroot/pathid/" & fileupl)
\-

Jag försökte trixa med pathid för att få in den, men får felmeddelandet att det finns ett ogiltigt / med i koden. Hur kan jag lösa detta?

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

## #4 — Travoni, 2008-04-18T07:03Z

Du skall nog inte ha med "wwwroot", ta bort det.

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

## #5 — Brizer, 2008-05-08T02:44Z

Jag har exprimenterat lite och det visar sig fungera bra då jag inte anropar variabeln pathid. Den koden jag vill ha fungerande är alltså:

objFSO.MoveFile Server.MapPath("wwwroot/temp/" & fileupl) , Server.MapPath("wwwroot/" & pathid & "/" & fileupl)

När jag provade denna kod:

objFSO.MoveFile Server.MapPath("wwwroot/temp/" & fileupl) , Server.MapPath("wwwroot/14/" & fileupl)

Så fungerade allt bra. Notera att 14 i det fallet är pathid't som jag vill anropa. Notera också att jag efter exprimerande kom fram till att wwwroot ska vara där.

Hur ska jag bära mig åt för att anropa ett variabel här, utan att få felmeddelandet med ett "/" eller "\\" för mycket?

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

## #6 — voigtann1, 2008-05-08T06:01Z

Kontrollera att du har något i pathId och om du har det så lägger du till det extra & "/".

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

## #7 — Brizer, 2008-05-08T22:05Z

Jag har kontrollerat pathid, och det finns en siffra där, Dock efter att jag skickat en fil så försvinner variabeln pathid (det finns inget där). Jag kan även tillägga att sidan jag laddar upp i är en iframe till huvudsidan. Jag använder följande kod i huvudsidan:

\<iframe src="upload.asp?pathid=\<%=Session("id")%\>" name="iframe"\>
  \<link href="/item/design/style.css" type="text/css" rel="stylesheet"\>
\</iframe\>

i upload.asp så ser det ut som föjlande:

pathid = Request.QueryString("pathid") & "/"
If Request.QueryString("send") \<\> "" Then
    Dim mySmartUpload
    Dim intCount
   
    Set oSmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    oSmartUpload.Upload
    
    For Each file In oSmartUpload.Files
        If Not file.IsMissing Then
            file.SaveAs("wwwroot/temp/" & file.FileName)
            Response.Write("Name = " & file.Name & "\<BR\>")
            intCount = intCount + 1
            fileupl = file.FileName
        End If
    Next
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFile Server.MapPath("wwwroot/temp/" & fileupl) , Server.MapPath("wwwroot/" & pathid & fileupl) ' Här innehåller bara pathid ett /, alltså inte request.querystring("pathid"), därför får jag felmeddelandet med ett slash-tecken för mycket. Hur kommer det sig att querystringen försvunnit?
Else
        Response.Write "&nbsp;&nbsp; Select to upload... \<br\>\<br\>"
End If

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

## #8 — solbulle, 2008-05-12T00:28Z

Är det så att du först har med dig din variabel och sen postar din form?
Om du postar formen så går din variabel förlorad om du inte på nytt lägger med den i querystringen eller postar den i ett dolt fält etc.

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

## #9 — Eclipse, 2008-05-12T13:54Z

Kan du inte bara ladda upp filen i rätt mapp från början? Vad hindrar dig från detta...?

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

## #10 — Brizer, 2008-05-15T00:24Z

solbulle, där satt den.

självklart hade jag glömt bort action="---" i formuläret, och blev tvungen att lägga till en querystring där med. Tack alla för hjälpen.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/170848-aspsmart-fso
