Problema con ADODB.Stream su MAC-Safari

  • Creatore Discussione Creatore Discussione Sirio
  • Data di inizio Data di inizio

Sirio

Nuovo Utente
17 Nov 2011
28
1
1
Ciao a tutti, invoco il vostro prezioso aiuto.
Spiego velocemente il problema...
Ho un sito sul quale sono pubblicati dei documenti che recupero e scarico attraverso l'oggetto ADODB.Stream.

Il tutto funziona perfettamente su Windows con IE, FF, Chrome e Safari mentre su MAC, con Safari, il file che recupero mi viene scaricato con il nome file "alterato"; se con Windows e i browser testati il nome del file è nomefile.ext, con Safari su MAC è nomefile.ext.html.
Possibile che ci sia un qualche conflitto tra ADODB.Stream e MAC/Safari?

Se può essere un'informazione utile, il server sul quale risiede il sito monta IIS 7.5


Attendo un vostro prezioso riscontro
Grazie
 
Ultima modifica:
Ciao a tutti, invoco il vostro prezioso aiuto.
...Il tutto funziona perfettamente su Windows con IE, FF, Chrome e Safari mentre su MAC, con Safari, il file che recupero mi viene scaricato con il nome file "alterato"; se con Windows e i browser testati il nome del file è nomefile.ext, con Safari su MAC è nomefile.ext.html.
Possibile che ci sia un qualche conflitto tra ADODB.Stream e MAC/Safari?
Grazie

...non conosco il mondo MAC ma a spanne mi orienterei su Safari, qualche funzione che autorinomina l'estensione se sconosciuta.
Paolo
 
Buongiorno Paolo,
grazie per la celere risposta.
Quindi potremmo escludere l'incompatibilità tra l'oggetto in questione e il mondo MAC e provare a cercare una soluzione nelle opzioni di Safari? La cosa strana comunque è che si tratta di file pdf, possibile che non riconosca l'estensione?

Il problema è che non posso testarlo personalmente poiché neanch'io ho un MAC, il problema me l'hanno fatto notare terzi.

Se qualcuno avesse riscontrato un problema simile sarei lieto di confrontarmi con lui.


Grazie a tutti per la collaborazione

Sirio
 
Buongiorno Paolo,
grazie per la celere risposta.
Quindi potremmo escludere l'incompatibilità tra l'oggetto in questione e il mondo MAC e provare a cercare una soluzione nelle opzioni di Safari? La cosa strana comunque è che si tratta di file pdf, possibile che non riconosca l'estensione?

Il problema è che non posso testarlo personalmente poiché neanch'io ho un MAC, il problema me l'hanno fatto notare terzi.

Se qualcuno avesse riscontrato un problema simile sarei lieto di confrontarmi con lui.


Grazie a tutti per la collaborazione

Sirio

Ciao,

se devi forzare il download di un .pdf perché ti da estenzione .ext e non .pdf?

devi forzare il download.

Posta il tuo file asp che utilizzi per scaricare il .pdf

:book::book::book::book::book::book:

Valeria.
 
Ciao Vale,
ho scritto .ext per generalizzare...
Nella pagina dove sono elencati i file, l'estensione è inserita correttamente
file1.pdf
file2.pdf
...
file-n.pdf

Quando in Safari si clicca sul pulsante per effettuare il download, il file viene scaricato con nome file1.pdf.html.

Il codice è corretto perchè come detto sopra funziona perfettamente su windows nei vari browser.
Ora vedo di trovare una soluzione esaminando i link fornitomi di Paolo.

Per completezza inserisco i codici delle due pagine

elenco.asp
Codice:
<form name="form_file" method="post" action="scarica.asp">
<div class="download">
<input name="file" type="hidden" id="file" value="file1.pdf"></td>
<input type="image" src="img/file1.jpg" name="Submit" value="Download" alt="Submit" class="img_button">
<p><input type="submit" name="Submit" value="PDF file xx MB" class="text_button"></p>                          
</div>
</form>

scarica.asp
Codice:
<%
On Error resume Next
response.expires = 0

Dim objStream, strFileName
strFileName = Request.Form("file")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile Server.MapPath("pdf/" & strFileName)
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.ContentType = "application/octet-stream"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
%>
 
Ciao,

il ContentType di un .pdf è:

Response.ContentType = "application/pdf"


non


Response.ContentType = "application/octet-stream"


Valeria.
 
Grazie Vale per avermi fatto scoprire che non esiste solo l'octet-stream, fin'ora utilizzato senza problemi sia con i pdf che con i doc ma, personalmente testato solo in ambiente windows

Comunque, vedendo le MSDN http://msdn.microsoft.com/en-us/library/ms775147.aspx octet-stream è utilizzato per i file binari, i pdf non sono file binari???? :confused:


Oggi provo a modificare utilizzanto il contenttype corretto

Vi farò sapere

Grazie
 
Ciao,


fai prove togliendo anche


On Error resume Next
response.expires = 0



e mettere ad inizio pagina <%@LANGUAGE = VBScript%>

Valeria.
 

Nel forum che indichi tu sono sempre io che chiedo in altri lidi

Ovviamente la stringa <%@LANGUAGE = VBScript%> è presente nella pagina

mentre
On Error resume Next
response.expires = 0
al momento anche togliendole non riuscirei a verificare il funzionamento.

Comunque, ho chiesto di effettuare una prova ad un amico da un altro MAC con Safari e mantenendo il contenttype octet-stream e senza apportare alcuna modifica riesce a scaricare i file senza alterazione dell'estensione.

Mi viene da pensare che chi mi ha fatto notare quell'anomalia abbia qualche opzione strana attiva in Safari.
 
Buonasera a tutti,
chiedo scusa per la sparizione e per la mancata risposta.
Nessuna novità purtroppo; ho chiesto a chi riscontrava il problema di farmi sapere qualcosa ma sembra essere svanito nel nulla :hammer:

Appena so qualcosa, spero presto, vi farò sapere

Grazie ancora :beer:
 

Discussioni simili