File Dart:访问项目外的资源| web/目录

File Dart:访问项目外的资源| web/目录,file,directory,dart,dart-pub,File,Directory,Dart,Dart Pub,我有一个web应用程序(基于浏览器),需要访问位于web文件夹外的一个充满图标的文件夹。 此文件夹必须位于web文件夹之外,并且最好同时存在于项目文件夹之外 但是,在指定文件夹路径时,“./”或使用符号链接都不起作用 当页面尝试加载图像时,我总是得到 “[web]GET/Project | web/icons/img.png=>找不到资产项目| web/icons/img.png。” 但是,我将图像源设置为“./icons/img.png” 如何让dart正确访问此文件 PS:我尝试将符号链接到

我有一个web应用程序(基于浏览器),需要访问位于web文件夹外的一个充满图标的文件夹。 此文件夹必须位于web文件夹之外,并且最好同时存在于项目文件夹之外

但是,在指定文件夹路径时,“./”或使用符号链接都不起作用

当页面尝试加载图像时,我总是得到 “[web]GET/Project | web/icons/img.png=>找不到资产项目| web/icons/img.png。”

但是,我将图像源设置为“./icons/img.png”

如何让dart正确访问此文件


PS:我尝试将符号链接到文件系统的另一部分(理想情况下可以保存图像),但这也不起作用。

集成到DartEditor或
pub serve的web服务器只提供作为文件夹添加到文件视图中的目录。将文件夹添加到DartEditor时,您应该能够访问这些文件。这只是为了发展

在部署服务器应用程序时,您还必须找到解决方案。如果您可以访问项目目录之外的文件,这将是一个危险的安全问题。服务器应该在哪里划定界限?如果这是可能的,您的整个服务器将可供世界访问

就像@Robert所问的,我也很难想象为什么文件不能在项目文件夹中

如果要在不同项目之间重用图标/图像,可以创建一个仅包含这些图像的资源包,并将它们作为依赖项添加到项目中。
如果您想得到更好的答案,您需要提供有关您的需求的更多信息。

如果您编写了自己的服务器(通过使用HttpServer类),则可以使用VirtualDirectory为外部文件提供服务器


看看dartiverse_搜索示例,您可能会有一些想法。

您可以将它们放在lib目录中,并通过/packages/Project/引用它们


或者在另一个包中,在这种情况下,它们将位于文件系统中的不同位置。但正如其他人所说,您的要求似乎有些奇怪。

为什么图像必须位于web目录之外?图像必须位于web目录之外,因为它们需要经常更改,并且必须更改/web然后重新构建是不可行的。我的项目当前仅适用于本地网络。我的web服务器设置为仅允许本地网络电脑。因此,安全不是一个大问题。这些文件可以在项目文件夹中,但不能在web中,因为如果它们在web中,那么每次更改/添加到图像文件夹时,我都需要重建它们。基本上,这是一款点击式冒险游戏,地图和图像文件需要不断更改。我真正需要的是一种说服dart从/web或/build/web方向看出去的方法。无论如何,服务器都是安全的。我不明白,如果图像发生变化,为什么需要构建。您也可以随时将它们复制到构建输出目录。我不知道如何实现这一点。我还是不明白你的问题。为什么你认为当你改变图像时你必须重新编译?复制和粘贴是可能的,但关键是不必做任何事情。图像将通过自动化过程不断变化,dart代码甚至不一定知道图像的名称。我需要将图像保存在一个位置,这不是问题,除非使用dart编辑器开发服务器测试代码。为了能够使用development服务器进行测试,我必须更改它的基本目录。