mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 22:13 Benutzername: Passwort: Auto-Login

Thema: [ASP] - Datei streamen -- application/octet-stream vom 05.05.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [ASP] - Datei streamen -- application/octet-stream
Autor Nachricht
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Di 05.05.2009 14:23
Titel

[ASP] - Datei streamen -- application/octet-stream

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

folgendes problem.
Ich habe einen Mitgliederbereich für verschiedene User.
Jeder User bekommt von dem Administrator unterschiedliche Rechte zugeteilt.
Diese besagen welche Navigationspunkte er einsehen darf um bestimmte Dateien (meißt Excel oder MS-Word) herunterzuladen.Die Navigationspunkte leiten sozusagen auf versch Verzeichnisse auf dem Server.

Dies realisiere ich über Streaming, damit die URL der Dateien nicht zu sehen ist, damit bsweise die Benutzerumgebung nicht umgangen werden kann.

Jetzt ist es so das der Firefox den MIMETYP nicht erkennt sobald Leerzeichen im Dateinamen enthalten sind.
Der IE macht alles richtig.

Folgend mal der StreamingAuszug

Code:

<!-- #include file="inc/control-session.inc" -->
<%
Response.Buffer = TRUE
Set db = Server.CreateObject("ADODB.Connection")
db.open "***"

file = request("datei")
url = request("verz")

Response.Clear
Response.Expires = 0

response.ContentType="application/octet-stream"

Const adTypeBinary = 1
Const adTypeText = 2

pfad = Server.MapPath("/intern/data/") & "\" & url
pfad  = Replace(pfad, "/", "\")

Response.AddHeader "Content-Disposition","attachment;filename=" & file

Set objStream = Server.CreateObject("ADODB.Stream")
   objStream.Type = adTypeBinary
   objStream.Open
   objStream.LoadFromFile(pfad)
   Response.BinaryWrite objStream.Read(objStream.Size)
   objStream.Close
Set objStream = Nothing
Response.Flush

db.Close
Set db = Nothing
%>


Hat jemand von euch eine Idee woran das liegen könnte und wie ich das beheben kann?

grüße, kash
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Di 05.05.2009 14:31
Titel

Antworten mit Zitat Zum Seitenanfang

probier doch mal den dateinamen vorher mit Server.URLEncode umzukaspern.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Di 05.05.2009 14:32
Titel

Antworten mit Zitat Zum Seitenanfang

in ASP hat es die ZeichenkettenFunktion Trim die alle Leerzeichen löscht.
Nur bin ich der meinung das die datei dann nicht mehr gefunden wird.

oder habe ich dich falsch verstanden?
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Di 05.05.2009 14:35
Titel

Antworten mit Zitat Zum Seitenanfang

der dateiname im header braucht nicht gefunden werden *zwinker*

ersetz mal diese Zeile:
Code:

Response.AddHeader "Content-Disposition","attachment;filename=" & file

durch
Code:

Response.AddHeader "Content-Disposition","attachment;filename=" & Server.URLEncode(file)
  View user's profile Private Nachricht senden
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Di 05.05.2009 14:58
Titel

Antworten mit Zitat Zum Seitenanfang

jetzt erkennt er ihn gar nicht mehr...

@m: daten werden per FTP vom Admin auf den Servergeladen
  View user's profile Private Nachricht senden
 
Ähnliche Themen Wie Mp3 streamen?
[Flash MX] sound streamen
MP3's von lokaler Festplatte ins Netz streamen
Air Application aus Fireworks CS4
iphone application
Web Application - Elemente Jquery
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.