Entra

View Full Version : Iframe src su condivisa


Rikthefrog
21-06-2012, 16:47
Ciao a tutti,
il problema sembrerà banale ma sto perdendo molto tempo per trovare la giusta soluzione:

ho un server windows con iis;
questo server ha mappate diverse risorse di rete da altri server che le condividono;
in una di queste condivise ho un foglio excel;
in una delle pagine web (html) che girano sul mio server iis, voglio visualizzare in un iframe l'excel che si trova nella cartella condivisa...

Come faccio?
Ho provato <iframe src="file:///nome condivisa/path/file.xls ...>
Ho provato tutti i tipi di sintassi con backslash, con ip del server, senza 'file'...ma nulla.
Stavo pensando che essendo l'html elaborato dal client, non potrò mai trovare il path indicato perchè esso sta sul server...
Che faccio passo in php?
Non esiste una soluzione?

Grazie.
Ciao ciao.

tomminno
21-06-2012, 21:33
Ciao a tutti,
il problema sembrerà banale ma sto perdendo molto tempo per trovare la giusta soluzione:

ho un server windows con iis;
questo server ha mappate diverse risorse di rete da altri server che le condividono;
in una di queste condivise ho un foglio excel;
in una delle pagine web (html) che girano sul mio server iis, voglio visualizzare in un iframe l'excel che si trova nella cartella condivisa...

Come faccio?
Ho provato <iframe src="file:///nome condivisa/path/file.xls ...>
Ho provato tutti i tipi di sintassi con backslash, con ip del server, senza 'file'...ma nulla.
Stavo pensando che essendo l'html elaborato dal client, non potrò mai trovare il path indicato perchè esso sta sul server...
Che faccio passo in php?
Non esiste una soluzione?

Grazie.
Ciao ciao.

Premesso che non sarebbe standard, direi che quello che vuoi fare funziona solo con IE, i file xls non sono html. Per una maggiore compatibilità potresti provare Excel Web App.

Nel tuo caso dovresti mappare come virtual directory di IIS la cartella condivisa e usare sempre http come protocollo per l'accesso. Ovviamente sulla cartella devono esserci i permessi di lettura appropriati (IIS 6 gira di default come Local System difficilmente riesci ad impostargli i permessi sulla cartella condivisa, IIS7 genera un utente "virtuale" per ogni host in ogni caso sempre locale alla macchina), altrimenti devi impostare IIS per girare con i permessi di un utente che può accedere alla cartella condivisa, essere all'interno di un dominio aiuterebbe molto.

Rikthefrog
21-06-2012, 23:01
Giusto...ti faccio un paio di precisazioni così magari riesci ad entrare meglio nella questione.

Si tutta la situazione si trova all'interno di una intranet e sotto dominio.
Quando ho detto di voler visualizzare un excel all'interno di un iframe intendevo che l'excel lo posso salvare come .html quindi nell'iframe avrò una pagina web...
Forse è fuorviante il tipo di file...diciamo che vorrei capire come risolvere pure se fosse una semplice jpg.
Il mio problema è che la pagina web sta su un server, il contenuto che voglio visualizzare nell'iframe sta su una condivisa (su un altro server) e la pagina web deve essere visibile da tutti i client nell'intranet.

Il suggerimento di mappare la condivisa come virtual dir di iis mi pare interessante...domani proverò.
Poi mi confermi che la soluzione più semplice è rifare la pagina in un linguaggio server based (tipo PHP)? In modo che il path della condivisa venga trovato stesso sul server...l'html cercherebbe il path della condivisa sul pc del client che chiede la pagina quindi non lo trova xkè non tutti i client hanno mappata quella share.

Grazie in tanto per l'interessamento...attendo con curiosità altri preziosi suggerimenti.
Ti aspetto.
Ciao ciao.

tomminno
22-06-2012, 07:57
Il mio problema è che la pagina web sta su un server, il contenuto che voglio visualizzare nell'iframe sta su una condivisa (su un altro server) e la pagina web deve essere visibile da tutti i client nell'intranet.


Per fare questo devi fare in modo che sia IIS a servire la pagina ai client della intranet, dandogli i permessi di accesso alla cartella condivisa.


Poi mi confermi che la soluzione più semplice è rifare la pagina in un linguaggio server based (tipo PHP)? In modo che il path della condivisa venga trovato stesso sul server...l'html cercherebbe il path della condivisa sul pc del client che chiede la pagina quindi non lo trova xkè non tutti i client hanno mappata quella share.


Se è solo per questo direi che non è necessario passare ad un linguaggio server side (strano che per una intranet sia utilizzato html puro), alla fine il tuo link sarà statico della forma: http://nomehostintranet/nomevdircartellacondivisa/nomefile.xls

Rikthefrog
22-06-2012, 11:52
Per i permessi la condivisa ha "everyone full control".
E' vero che il link è statico ma il problema è che i client montano la condivisa con nomi differenti...quindi se nella pagina web linko il contenuto dell'iframe per esempio con il path che vedo sul server (metti per esempio ///filesrv/X/cartella/file)
quando questa pagina la apre il client che monta la condivisa come ///miashare/Y/cartella/file ottiene file non trovato!
Ora stavo leggendo un po' qualche manuale sul php per la define di una root_dir...

tomminno
22-06-2012, 13:42
Per i permessi la condivisa ha "everyone full control".
E' vero che il link è statico ma il problema è che i client montano la condivisa con nomi differenti...quindi se nella pagina web linko il contenuto dell'iframe per esempio con il path che vedo sul server (metti per esempio ///filesrv/X/cartella/file)
quando questa pagina la apre il client che monta la condivisa come ///miashare/Y/cartella/file ottiene file non trovato!
Ora stavo leggendo un po' qualche manuale sul php per la define di una root_dir...

Ma infatti ti dicevo di usare sempre http e non file come protocollo. In questo modo è IIS a fornire il documento a tutti i client e non i client ad andare a prenderla direttamente dalla cartella condivisa. Usare file quando c'è di mezzo html non è mai una buona idea.

Rikthefrog
24-06-2012, 21:54
Ho fatto numerose prove sia in html che in php ma ancora non sono riuscito a risolvere.
La condivisa viene montata sul server ad esempio come \\share\X
Per comodità la condivisa \\share\X l'ho mappata sul server (ad esempio come unità S: )
In tanto continuo a studiarmi la situazione e le eventuali soluzioni.
Attendo suggerimenti.
Ciao ciao.