【问题标题】:save and retrieve images from database by relative address in C#在 C# 中通过相对地址从数据库中保存和检索图像
【发布时间】:2013-11-15 10:13:16
【问题描述】:

我有一个包含两个选项卡的 windows 窗体。第一个选项卡用于保存图像,第二个选项卡用于检索。 我的源图片也在我的 bin 项目地址中,如下所示:

C:\Users\BlackRose\Documents\Visual Studio 2012\Projects\RealState\RealState\bin\Debug\HomePics

现在我想知道如何将图片的地址保存到 sql server 并检索它们,即使我更改了我的项目位置...

我已经尝试过这些代码:

string path;    
public myForm()
{
    path = Environment.CurrentDirectory.ToString() + "\\HomePics";
    openFileDialog1.InitialDirectory = path;
}

然后在函数中编写一些sql和c#代码并保存imagePath和imageName,保存没有问题。 但我确定我必须配置路径来设置相对路径,因为保存在 db 中的路径字符串是这样的:

C:\Users\BlackRose\Documents\Visual Studio 2012\Projects\RealState\RealState\bin\Debug\HomePics\pic1.jpg

使用这种方法,当我想将我的项目文件夹移动到其他地方时会出现问题 db中的所有地址都将无用。

你能告诉我任何有用的方法,以便我可以在任何情况下检索它吗?

【问题讨论】:

    标签: c# sql-server winforms relative-path


    【解决方案1】:

    您可以使用HomePics 作为文件夹名称,同时将Path 保存到数据库中,如下所示:

    path = "\\HomePics\\pic1.jpg";
    

    从数据库访问图像路径时,只需添加以下代码:

    String strRelativePath=getRelativePathfromDB();//gives you \Home\pic1.jpg
    String strAbsoluteFilePath= System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\\", "")+strRelativePath;
    

    所以最后strAbsoluteFilePath 包含以下Absolute 路径:

    C:\Users\BlackRose\Documents\Visual Studio 2012\Projects\RealState\RealState\bin\Debug\HomePics\pic1.jpg
    

    上述路径会根据您正在执行项目的location 动态更改。

    我希望这能解决你的问题:)

    【讨论】:

    • 对不起,我没听明白,您是想知道将路径插入数据库的步骤吗?
    • 太好了,如果您需要更多信息,请告诉我。祝你有美好的一天:)
    • 非常感谢...它在任何情况下都可以工作...再次感谢:)
    • 很高兴为您提供帮助 - 祝您有美好的一天:)
    【解决方案2】:

    你可以做的是:

    1. 在数据库中保存相对路径,即示例中相对于\HomePics(根文件夹)的路径(前提是所有文件都在该文件夹及其子文件夹中)。

    2. 在应用程序的配置文件中,添加一个设置来说明根文件夹的位置,例如在您的<appSettings> 中,您可以有一个条目<add key="ImagesRootFolder" value="C:\Images\HomePics" />。或者,您也可以将相同的信息保存在数据库中,与图像分开的表格中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2011-09-24
      相关资源
      最近更新 更多