2016-05-14 5 views
0

Ich möchte Bilder in der Rasteransicht abhängig von der Benutzer-ID anzeigen. Das Problem ist, dass meine Bilder auf einem anderen Laufwerk und nicht im Website-Ordner gespeichert sind. Was mir nicht erlaubt, die Bilder zu zeigen, obwohl ich den Weg finde.Bild in GridView aus der DB anzeigen, wo PAth in einem anderen Laufwerk ist

Nach diesem Link How to display image which is stored in local drive?

die Antwort schlägt eine andere Seite zu schaffen, die eine Abfrage-String oder etwas passiert nach der ID in diesem Beitrag.

Ich bin neu und weiß nicht, wie man mit Query String arbeitet.

Ich habe den folgenden Code geschrieben: -

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
     <Columns> 
      <asp:BoundField DataField="User_ID" HeaderText="User_ID" /> 
      <asp:ImageField DataImageUrlField="Photo_File_Path" HeaderText="Photo_File_Path"> 
      </asp:ImageField> 
     </Columns> 
    </asp:GridView> 


SqlConnection con = new SqlConnection(CS); 
     SqlCommand cmd = new SqlCommand("SELECT User_ID, Photo_File_Path FROM User_M", con); 
     con.Open(); 

     SqlDataReader rdr = cmd.ExecuteReader(); 
     GridView1.DataSource = rdr; 
     GridView1.DataBind(); 
     con.Close(); 

Wie kann ich meinen Code bekommen mit dem Abfrage-String zu arbeiten oder wenn es irgendeine andere Art und Weise kann ich die Bilder angezeigt werden.

Vielen Dank.

Antwort

0

Während nicht wirklich eine Antwort auf Ihre spezifische Frage, möchten Sie möglicherweise ein virtuelles Verzeichnis in Ihrem IIS einrichten, damit Sie ein Verzeichnis von überall auf der Karte B. ein Unterverzeichnis Ihrer Site.

So sagen Sie Ihre Website in C:\sites\mySite Sie das Verzeichnis zuordnen D:\data\images\ erscheinen bei C:\sites\mySite\userImages zur Verfügung steht, so dass Ihre Website durch http:\\mysite.com\userImages verweisen kann.

Dies ist möglicherweise eine einfachere Möglichkeit, die Struktur der Site zu organisieren, und Sie können dieses physische Verzeichnis verschieben, ohne dass der Website-Code geändert werden muss.

Hoffen Sie, dass es funktioniert, egal wie Sie vorgehen. :)

EDIT: Dieser Link liefert die Informationen, die Sie dies bis setzen müssen: https://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

0

Ich weiß nicht, ob dies gilt nach wie vor, aber hier geht:

Ihr WebServer wird unter einem Benutzerkonto ausgeführt wird, da alle Dienste auf Ihrem Computer installiert sind. Es ist normalerweise ein Kontoname wie IUSR oder etwas ähnliches.

Auf dem Laufwerk, auf dem Sie die Dateien haben, können Sie mit der rechten Maustaste auf den Ordner klicken und den Lesezugriff für diesen Benutzer zulassen, indem Sie Zugriffsberechtigungen eingeben.

Dies gilt NUR für Server, die Sie natürlich selbst steuern können und nicht auf Azure oder andere gehostete Umgebungen skalieren. Aber es sollte Ihr Problem lösen, vorausgesetzt, dass es immer noch so ist, wie man mit genau diesem Problem umgeht.

EDIT: Der Beitrag, den Sie verknüpft haben, ist 5 Jahre alt. Ich würde vorsichtig sein, es vollständig zu vertrauen :)

+0

ich den Benutzer die volle Kontrolle für diesen Ordner gegeben haben, aber es funktioniert immer noch nicht. – user2211486

+0

Ok, nun, das war, was ich befürchtet habe - also hoffentlich wird uns jemand anders sagen können, wie es in diesen modernen Tagen geht :) –

Verwandte Themen