1

我正在使用 asp.net 中的两个不同的网站。在第一个项目中,我将一些图像上传到项目根目录下的特定文件夹并仅将文件名保存在数据库中,现在我试图在第二个项目的某个页面上显示这些图像我知道数据库中的文件名和图像文件夹作为绝对 pat 但我无法显示图像,甚至认为在 firebug 中查看图像 src 是正确src="D:/MyFolder/image.jpg"的图像不显示,可能是因为它没有指向正确的目录。我也尝试过使用 Server.MapPath,然后是我的 D 位置,但仍然没有成功。

我敢肯定有人以前遇到过同样的情况,并且真的希望得到一些提示来解决这个问题。先感谢您

4

4 回答 4

2

我找到了我的解决方案,很奇怪,但我之前没有发现它。现在,在第二个项目中,您可以随时使用项目的 url 访问项目下上传的图片,http://www.yourwebsite.com/images/photo.png您可以使用此 url 引用图像并连接我存储在数据库中的文件名。我认为这是最好的解决方案,并且不改变我认为可能带来其他问题的代码访问安全性。总之谢谢各位。

于 2010-01-06T09:13:08.983 回答
2

If you want to display the image that is not in your project (I mean it is present in some other project or some other drive) just create the virtual directory in IIS

  1. Go to "Run", type inetmgr
  2. Right click on your project and add virtual directory
  3. Give alias name and path so that it acts like folder in your project
于 2012-05-15T08:00:07.970 回答
1

我认为默认情况下您不能在应用程序路径之外提供文件。它被称为代码访问安全性。你可以在这里阅读:http:
//msdn.microsoft.com/en-us/library/930b76w0.aspx

您可以通过在 web.config 中将信任级别更改为高来解决此问题:http:
//msdn.microsoft.com/en-us/library/tkscy493.aspx

我不建议对任何可从外部访问的站点执行此操作。事实上,根据您托管应用程序的方式/位置,此选项可能会受到限制。

于 2010-01-05T22:34:03.977 回答
1

您只能“链接”到相对于同一项目存在的文件或通过绝对 URL 托管在另一个站点上的文件。

如果您想为应用程序/网站之外的文件(在磁盘上或在数据库中)提供服务,您将需要构建一种机制来获取文件并将二进制文件写入浏览器,设置 MIME 类型等。最好使用Http处理程序。

于 2010-01-05T22:38:50.600 回答