2016-05-14 1 views
0

Я хочу отображать изображения в режиме сетки в зависимости от ID пользователя. Проблема в том, что мои изображения хранятся на другом диске, а не в папке веб-сайта. Это не позволяет мне показывать изображения, даже если я получаю путь.Отображение изображения в GridView из базы данных, где PAth находится на другом диске

По этой ссылке How to display image which is stored in local drive?

В этом посте ответ наводит на мысль создать еще одну страницу, которая проходит строку запроса или что-то в соответствии с ID.

Я новичок в этом и не знаю, как работать с строкой запроса.

Я написал следующий код: -

<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(); 

Как я могу получить код для работы со строкой запроса или, если есть какой-либо другой способ, которым я могу отобразить изображения.

спасибо.

ответ

0

Хотя на самом деле вы не отвечаете на свой конкретный вопрос, вам может потребоваться настроить виртуальный каталог в вашем IIS, чтобы вы могли сопоставить каталог из любого места на ваш компьютер, например, подкаталог вашего сайта.

Так что у вас есть свой сайт в C:\sites\mySite можно сопоставить каталог D:\data\images\ казаться доступны на C:\sites\mySite\userImages, так что ваш сайт может ссылаться на его http:\\mysite.com\userImages.

Это может быть более простой способ организации структуры сайта, и вы можете переместить этот физический каталог без изменения кода веб-сайта.

Надеюсь, вы получите его, как бы вы ни продвигались. :)

EDIT: Эта ссылка содержит информацию, что вам нужно задать этот вопрос: https://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

0

Я не знаю, если это все еще применяется, но здесь идет:

Ваш WebServer работает под учетной записью пользователя, как и все услуги на вашем компьютере. Обычно это имя учетной записи, как IUSR или что-то в этом роде.

На диске, где у вас есть файлы, вы можете щелкнуть правой кнопкой мыши по папке и разрешить доступ для чтения к этому пользователю, перейдя к разрешениям доступа.

Это ТОЛЬКО применяется к серверам, которые вы можете контролировать самостоятельно, и не будет масштабироваться в Azure или других размещенных средах. Но он должен решить вашу проблему, при условии, что все еще есть вопрос о том, как вы справляетесь с этой точной проблемой.

EDIT: Должность, с которой вы связались, составляет 5 лет. Я бы с осторожностью относился к этому полностью доверяю :)

+0

Я дал пользователю полный контроль для этой папки, но она по-прежнему не работает. – user2211486

+0

Хорошо, это то, чего я боялся - так, надеюсь, кто-то еще сможет рассказать нам, как это сделать в эти современные дни :) –