如何将图片加载到<;asp:图像>;使用windows路径
本文关键字:asp 图像 gt 路径 windows 使用 lt 加载 | 更新日期: 2023-09-27 18:29:37
我有一个小的支付webApp,我们的客户可以在他们的IIS上安装它并使用它。他们可以上传自己的登录。
我们正在使用WyBuild更新此应用程序,但它将web文件夹中的所有文件替换为新版本,因此标识类型被删除,这就是为什么我们将客户的文件放在程序文件中,因此更新程序无法删除它们。
问题是我无法从以下路径加载图像
C:'Program Files'MyApp'ImageFoder'logo.jpg
我不知道怎么做,我几乎可以肯定这是不可能加载
我的web应用程序在上
C:'inetpub'wwwroot'MyApp'
我不能在webFolder上有图像,因为wyBuild在我尝试更新它们时会删除它们,我已经尝试过这样的路径:(不起作用)
///file:c:/program files/ .... etc
所以,问题是
如何使用asp:image控件的windows路径将图像加载到该控件?
您需要配置IIS虚拟文件夹以指向存储映像的备用位置。
不过,我不会把它们放在程序文件中,在wwwroot中的兄弟文件夹会更好。
请记住,NTFS权限很容易搞砸,而且在一个地方管理它们更容易。
更新-对于本地安装的、仅本地主机的站点或者(如果流量最小,这是个好主意。不适用于公共网站),您可以使用VirtualPathProvider从任意位置提供文件。听起来这个"网络应用程序"是因为某种原因像桌面应用程序一样安装的吗?如果你想从外部存储用户数据,用户的应用程序数据文件夹是合适的,但前提是网络应用程序拒绝外部连接,并且只能从机器访问。
既然你在处理图像,我会获取imageresizing.net库,并使用VirtualFolder插件动态地提供文件。在你的项目中,它比你的项目多200KB,但如果你需要的话,你可以免费调整动态图像大小和/或进行处理,并且你可以节省几天的时间来让VirtualPathProvider子类工作(这是一场噩梦)。
使用隔离存储不是更好吗?补充:我的意思是在用户机器上,如果找不到,请再次上传。这会完全消除你的开销。