Image 在哪里保存HTML和图像?
我有一个项目,该公司的用户将使用winform HTML编辑器为特定客户输入一些文本和图片。客户将在网站上查看此信息 最好的处理方法是什么?如果它是严格的HTML文本,那么我可以保存数据库中的所有内容,并且不会出现任何显示问题。但是员工想要展示图片的能力Image 在哪里保存HTML和图像?,image,winforms-to-web,Image,Winforms To Web,我有一个项目,该公司的用户将使用winform HTML编辑器为特定客户输入一些文本和图片。客户将在网站上查看此信息 最好的处理方法是什么?如果它是严格的HTML文本,那么我可以保存数据库中的所有内容,并且不会出现任何显示问题。但是员工想要展示图片的能力 我是否在公共场所将图片保存为文件,以便网站和winform程序可以看到?这里的问题是哪里是存放照片的最佳公共场所。Web服务器将是一个锁定的服务器,没有人可以访问。我可以从ASP.Net的非本地目录获取文件吗 我是否将图片保存在数据库中,并使
- 预期的图像/文件数
- 关于存储blob,您将使用的特定数据库的功能和性能注意事项
- 预期的图像/文件数
- 关于存储blob,您将使用的特定数据库的功能和性能注意事项
- 请看这个
还有其他关于这个主题的老问题。在我看来,任何一种选择都是可能和合法的,两者的结合也是如此(将文件引用存储在数据库中)。您应该根据项目中的具体情况做出决定(您没有提供),例如
作为结论,我认为最好的解决方案是使用本地文件夹。如果这不可能,请避免使用外来解决方案(FTP、用户模拟、上载/加载图像的web服务)并使用数据库。您可以轻松地将图像存储在数据库中,然后检索它们。要显示数据库中的图像,可以使用asp.net页面(请参见此)或 您还可以将文件存储在本地文件夹中。可以使用常规的读/写文件操作。为此,ASP.NET用户([本地计算机]\ASPNET或网络服务)需要对该文件夹具有读/写权限。要使用远程文件夹,事情更多,您可能会在尝试这样做时创建一个安全漏洞
作为结论,我认为最好的解决方案是使用本地文件夹。如果这不可能,请避免使用外来解决方案(FTP、用户模拟、上载/加载图像的web服务)并使用数据库。我建议使用数据库存储本地图像的路径(如果在您的设置中可能) 例如,物理图像将保存在如下路径中:
/App_Themes/Web/images/userfiles/YOURIMAGENAME.jpg
<asp:Image ID="imgImage" runat="sever" />
protected void Page_Load(object sender, EventArgs e)
{
//Your data-access code here
//image.ImageName is provided by your data access code.
imgImage.ImageUrl = string.Format("/App_Themes/Web/images/userfiles/{0}", image.ImageName)
}
然后将以下内容保存到数据库中
YOURIMAGENAME.jpg
这意味着您可能会遇到如下情况:
/App_Themes/Web/images/userfiles/YOURIMAGENAME.jpg
<asp:Image ID="imgImage" runat="sever" />
protected void Page_Load(object sender, EventArgs e)
{
//Your data-access code here
//image.ImageName is provided by your data access code.
imgImage.ImageUrl = string.Format("/App_Themes/Web/images/userfiles/{0}", image.ImageName)
}
受保护的无效页面加载(对象发送方、事件参数e)
{
//这里是您的数据访问代码
//image.ImageName由您的数据访问代码提供。
imgImage.ImageUrl=string.Format(“/App_Themes/Web/images/userfiles/{0}”,image.ImageName)
}
我建议使用数据库存储本地映像的路径(如果在您的设置中可能)
例如,物理图像将保存在如下路径中:
/App_Themes/Web/images/userfiles/YOURIMAGENAME.jpg
<asp:Image ID="imgImage" runat="sever" />
protected void Page_Load(object sender, EventArgs e)
{
//Your data-access code here
//image.ImageName is provided by your data access code.
imgImage.ImageUrl = string.Format("/App_Themes/Web/images/userfiles/{0}", image.ImageName)
}
然后将以下内容保存到数据库中
YOURIMAGENAME.jpg
这意味着您可能会遇到如下情况:
/App_Themes/Web/images/userfiles/YOURIMAGENAME.jpg
<asp:Image ID="imgImage" runat="sever" />
protected void Page_Load(object sender, EventArgs e)
{
//Your data-access code here
//image.ImageName is provided by your data access code.
imgImage.ImageUrl = string.Format("/App_Themes/Web/images/userfiles/{0}", image.ImageName)
}
受保护的无效页面加载(对象发送方、事件参数e)
{
//这里是您的数据访问代码
//image.ImageName由您的数据访问代码提供。
imgImage.ImageUrl=string.Format(“/App_Themes/Web/images/userfiles/{0}”,image.ImageName)
}
< /代码> 如果使用文件系统是不可能的,考虑将您的图像存储在云存储中,例如
您可以配置S3对象,使其为公共读取而非私有写入,这样只有您的软件才能将图像添加到S3,但web上的任何人都可以查看它们。根据您的安全要求,您可以在WinForms应用程序中对S3密钥进行编码以构建PUT URL,也可以在应用程序服务器上创建一个简单的web服务,用于验证用户身份并使用服务器上的密钥创建PUT URL。然后可以将PUT URL返回给客户端,客户端可以用来上传图像数据
使用S3,然后使用HTTP上传图像