2016-05-14 52 views
0

我想根据用户ID在网格视图中显示图像。问题是我的图像存储在另一个驱动器中,而不是存储在网站文件夹中。即使我找到路径,也不允许我显示图像。在GridView中从DB显示图像其中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引用它。

这可能是组织网站结构的一种更简单的方法,您可以移动该物理目录而不必更改网站代码。

希望你得到它的工作,你继续任何方式。 :)

编辑:此链接提供了你需要设置了信息:我已经给该文件夹的用户完全控制 https://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

0

我不知道这是否仍然适用,但这里有云:

你的Web服务器在用户帐户下运行,因为在您的计算机上的所有服务。它通常是一个帐户名称,如IUSR或类似的东西。

在这里你有文件的驱动器,你可以在文件夹上单击鼠标右键,并允许以只读方式访问该用户前往访问权限。

这仅适用于你可以控制自己,当然服务器,而不会向外扩展到Azure的或其他托管环境。但它应该解决你的问题,只要它仍然是如何处理这个确切的问题。

编辑:你链接到的职位是5岁。我会警惕充分信任吧:)的

+0

,但它仍然无法正常工作。 – user2211486

+0

好吧,那就是我所担心的 - 所以希望别人能告诉我们如何在这些现代时代做到这一点:) –

相关问题