---
title: "Veta när fil är färdigstreamad"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/105432-veta-när-fil-är-färdigstreamad"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jon"
published: "2004-06-10T20:00:14.000Z"
updated: "2004-06-22T14:07:48.000Z"
replies: 12
views: 349
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/105432-veta-när-fil-är-färdigstreamad"
---

# Veta när fil är färdigstreamad

## #1 — Jon, 2004-06-10T20:00Z

Ja skickar en pdf till användaren om viss krav är uppfyllda.
Detta göra jeg med

```
Response.Buffer = true
Response.ContentType = "application/pdf"
Response.AddHeader "Content-Type", "application/pdf"
'Response.AddHeader "Content-Disposition", "inline;filename=" & pdfName & ".pdf" 'pdf i läsaren
Response.AddHeader "Content-Disposition", "attachment;filename=" & pdfName & ".pdf"  ' pdf att ladda ner
Const adTypeBinary = 1
Dim strFilePath
strFilePath = "c:\temp\" & pdfName & ".pdf" 
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
```

När detta är klart vill jag redirecta användaren eller skriva ut ett meddelande. Detta går inte... Tips på lösning?

Man kanske kan göra själva streamningen från ett fönster som man öppnar och sen stänger? Men hur ska man då veta när det är klart?

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

## #2 — OveRRidE, 2004-06-11T07:41Z

Använd OnLoad i BODY-taggen. 

```
<%
Response.Buffer = true
Response.ContentType = "application/pdf"
Response.AddHeader "Content-Type", "application/pdf"
'Response.AddHeader "Content-Disposition", "inline;filename=" & pdfName & ".pdf" 'pdf i läsaren
Response.AddHeader "Content-Disposition", "attachment;filename=" & pdfName & ".pdf"  ' pdf att ladda ner
Const adTypeBinary = 1
Dim strFilePath
strFilePath = "c:\temp\" & pdfName & ".pdf" 
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
%>

<html>
<body onLoad="document.location.href='mypage.asp';">

</body>
</html>
```

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

## #3 — Jesper T, 2004-06-11T07:47Z

Funkar det inte med flush?

```
<%
Response.Buffer = true
Response.ContentType = "application/pdf"
Response.AddHeader "Content-Type", "application/pdf"
'Response.AddHeader "Content-Disposition", "inline;filename=" & pdfName & ".pdf" 'pdf i läsaren
Response.AddHeader "Content-Disposition", "attachment;filename=" & pdfName & ".pdf"  ' pdf att ladda ner
Const adTypeBinary = 1
Dim strFilePath
strFilePath = "c:\temp\" & pdfName & ".pdf" 
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
[b]response.flush()[/b]
%>

<html>
<body>
Streaming klar.
</body>
</html>
```

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

## #4 — Jon, 2004-06-11T07:47Z

Hmm... fungerar inte. Inget händer med varken javascriptet eller response.flush

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

## #5 — Jesper T, 2004-06-11T07:53Z

Om du lägger till response.clear() innan då:

```
response.clear()
response.flush()
```

Eftersom att du ändrar sidans header så uppfattas väl inte sidan som en "vanlig" html-sida?

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

## #6 — Jesper T, 2004-06-11T07:58Z

Nej, föresten. Clear tar inte bort headers.
Glöm det.

> **DevGuru skrev:**
>
> The Clear method clears (erases) any buffered HTML output. It does not erase the response headers, only the body.

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

## #7 — Jon, 2004-06-11T13:21Z

Inga fler förslag? :)

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

## #8 — yohpops, 2004-06-11T13:30Z

Det borde inte gå när det är en pdf.
Eftersom klienten antingen laddar ner filen eller öppna acrobat och stänger därmed den browsern som hämtar filen.

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

## #9 — Jesper T, 2004-06-11T13:47Z

Precis, det handlar ju om en fil som skall laddas ner, eller hur?
En länk till aktuell sida, och klienten får upp en "nerladdningsruta" (spara fil).
Så det är inget att visa i html på den sidan alls ju.

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

## #10 — Jon, 2004-06-11T14:26Z

Problemet är att jag tänker ta betalt för filen och jag vill inte dra pengarna förrän filen är skickad till klienten.

Det måste gå att lösa på något sätt. Det känns som om man ändå vill redirecta eller sätta nån sessionsvariabel efteråt.

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

## #11 — Jesper T, 2004-06-11T15:48Z

Ja, det borde gå att sätta en sessionsvariabel som du läser av på endera sida. Eller med Response.IsClientConnected.

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

## #12 — Jesper T, 2004-06-22T12:53Z

Fråga: fick du till denna?

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

## #13 — Jon, 2004-06-22T14:07Z

Både ja och nej.
Jag sätter en sessionsvariabel men jag kan inte ge någon direkt feedback eller berätta för användaren att det gick bra eller dåligt utan att antingen användaren få besöka en sida eller att ligga och ladda om sidan som öppnar popupen som jag streamar från hela tiden.

Inte helt nöjd men det duger med andra ord.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/105432-veta-när-fil-är-färdigstreamad
