上载已编译的Dart应用程序时未找到JSON文件

上载已编译的Dart应用程序时未找到JSON文件,json,ftp,dart,http-status-code-404,Json,Ftp,Dart,Http Status Code 404,我最近对他们的教程海盗徽章很感兴趣,也很关注。完成后,我构建了它并上传到我的Web服务器。在应用程序的开始,它调用一个.json文件: static Future readyThePirates() { var path = 'piratenames.json'; return HttpRequest.getString(path).then(_parsePirateNamesFromJSON); } void main() { //... other code

我最近对他们的教程海盗徽章很感兴趣,也很关注。完成后,我构建了它并上传到我的Web服务器。在应用程序的开始,它调用一个.json文件:

static Future readyThePirates() {
    var path = 'piratenames.json';
    return HttpRequest.getString(path).then(_parsePirateNamesFromJSON);
}

void main() {
    //... other code
    PirateName.readyThePirates()
        .then((_) {
            inputField.disabled = false;
            genButton.disabled = false;
            setBadgeName(getBadgeNameFromStorage());
         })
        .catchError((arrr){
            print('Error initializing pirate names: $arrr');
            badgeNameElement.text = 'Arrr! No names.';
         });
    }
    //... more code
}
以下是我的FTP的屏幕:

显然文件在那里,但是当我在浏览器中加载它时,我会得到一个错误。在Chrome中检查,我得到以下信息:

当我在Dartium(从Dart编辑器)中运行它时,它工作得很好,不知道为什么它在活动页面上出现问题

有人知道可能发生了什么吗?

您正在使用IIS吗

我最近发现,;所以,当我可以在磁盘上看到我的.sqlite文件时,它们显示的是404

您可以在IIS管理界面中修复它,该界面基本上只需编辑web.config,插入如下内容:

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension="json" mimeType="text/plain" />
    </staticContent>
  </system.webServer>
</configuration> 


服务器上JSON文件的实际URL是什么?可能是您的文件不在建议的位置,并且由于此原因,
pub
不会将必要的文件复制到生成目录中?看起来你的文件是在项目的顶层,而不是在目录
bin
lib
中。好吧,根据他在屏幕截图中显示的内容,我们可以查看
web/
,这应该是可行的@Anders你能提供更多的上下文吗?我在Dart IDE中运行了编译器,你在FTP上看到的正是它在发布文件夹中提供的内容,我相信,
pub
。所有这些文件都在服务器上的
/pirate/
目录中。它是应用程序的根文件夹。