【发布时间】:2019-09-17 06:05:43
【问题描述】:
我有一个包含所有 SQL 语句的 WCF 服务库。 Windows Forms Admin 应用程序正在更新服务,而 ASP.Net Web Forms 应用程序正在使用服务。
文件路径以字符串形式存储在数据库中,以更改 WinForms 应用程序的图片框中的图像。
我想我可以将 filePath 传递到 ASP.Net 端的字符串变量中,并将其用于Image.Url。它不工作。
最简单的方法是什么?安全不是问题,这只是为了分配。
当用户更改小屋 ID 时,网站上的相应图像应更改。
C#
protected void BtnID_Click(object sender, EventArgs e)
{
int id = Convert.ToInt32(TextBoxID.Text);
string fileName = ws.GetImage1FileName(id);
Image1.ImageUrl = fileName;
}
HTML
<td class="Column3" colspan="1">
<asp:Image class="Image" ID="Image1" runat="server"/>
</td>
TIA!
【问题讨论】:
-
fileName 的值是多少?它是有效的图像路径吗?
-
@BJohn "G:\bigCottage.jpeg"。那是其中之一。
WinForms应用程序会打开一个OpenFileDialog框来获取文件,因此在该侧它在哪里并不重要。 Asp.Net 不一样吗? -
asp.net 不一样。 Asp.net 用于 Web 应用程序,它不同于 winform 桌面应用程序。您不能使用带盘符的绝对路径。您应该使用诸如 bigCottage.jpeg 或 /bigCottage.jpeg 之类的路径,并确保在 webform 应用程序的根路径中有一个名为 bigCottage.jpeg 的图像。为了安全起见,web应用是面向多用户的,如果你可以通过文件协议访问文件,这意味着一个web应用可以访问每个用户的文件系统,这是不允许的