Domanda

sto lavorando con due diversi siti web in asp.net. Nel primo progetto che ho caricare alcune immagini in una cartella specifica sotto la radice del progetto e salvare solo il nome del file nel database, ora sto cercando di visualizzare queste immagini in qualche pagina del secondo progetto che conosco il nome del file dal database e l'immagine cartella come pat assoluta, ma non sono stato in grado di visualizzare l'immagine, anche pensato quando si cerca in firebug lo src dell'immagine è corretta src="D:/MyFolder/image.jpg" l'immagine non viene visualizzata, probabilmente perché non sia rivolta nella directory giusta. Ho anche provato ad utilizzare Server.MapPath e quindi la mia posizione D, ma ancora senza successo.

Sono sicuro che qualcuno ha affrontato la stessa situazione prima ed era davvero sperando di ottenere qualche suggerimento per gestire questo. Grazie in anticipo

È stato utile?

Soluzione

Ho trovato la mia soluzione, strano ma non ho capito prima. Le immagini caricate nell'ambito di un progetto possono sempre accedere utilizzando l'URL del progetto di http://www.yourwebsite.com/images/photo.png ora nel secondo progetto è possibile utilizzare le immagini di riferimento che utilizzano questo URL e concatenando il nome del file che ho negozio sulla base di dati. Penso che questa sia la soluzione migliore e senza modificare il codice di sicurezza di accesso che mi sembra possa portare altri problemi con esso. Comunque grazie ragazzi.

Altri suggerimenti

Se si desidera visualizzare l'immagine che non è nel progetto (voglio dire che è presente in qualche altro progetto o di qualche altra unità) basta creare la directory virtuale in IIS

  1. Vai su "Esegui", digitare inetmgr
  2. Fare clic destro sul progetto e aggiungere directory virtuale
  3. Dare nome di alias e il percorso in modo che si comporta come cartella del progetto

Non credo che si può servire file al di fuori della vostra percorso di applicazione di default. Si chiama Code Access Security. Si può leggere su di esso qui:
http://msdn.microsoft.com/en-us/library/930b76w0. aspx

È possibile risolvere questo problema modificando il livello di fiducia per alta nel web.config:
http://msdn.microsoft.com/en-us/library/tkscy493. aspx

Non consiglierei facendo questo per qualsiasi sito che è accessibile dall'esterno. Infatti, a seconda di come / dove si sta ospitando la vostra applicazione, questa opzione può essere limitato.

Si può solo "link" a file che esistono rispetto allo stesso progetto o sono ospitati su un altro sito tramite un URL assoluto.

Se si desidera riparare i file al di fuori dell'applicazione / sito web (su disco o in un database) sarà necessario costruire un meccanismo che ottiene il file e binario scrive al browser, impostare il tipo MIME ecc Questo è meglio fatto utilizzando un HttpHandler.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top