Meteor FS link 导致 404 错误

Meteor FS link leads to 404 Error

我目前正在开发一个 Meteor React 应用程序,它使用 ostrio:files 包将音频文件存储在名为 Files 的集合中。在另一个(常规 mongo)集合中,我在转换函数中使用以下代码将具有 link 的文档 "join" 转换为音频文件:

transform: function(doc){  
    let curAudio = doc.audio;
    let audioFile = Files.collection.findOne({_id: curAudio.file_id});
    if(audioFile){
        curAudio.audioLink = Files.link(audioFile);
        curAudio.audioLength = audioFile.meta.length;
        curAudio.audioSize = audioFile.size;
        doc.audio = curAudio;
    }
    return doc;
}

这似乎工作得很好,因为结果 audio.audioLink 类似于

 http://localhost:3000/cdn/storage/files/8Q7WwEXyJSkNWwFQa/original/8Q7WwEXyJSkNWwFQa.m4a

但是当我尝试做这样的事情时

<audio controls preload="none" style={{width: "480px"}}>
    <source src={track.audioLink} type="audio/mp4"/>
    <p>Your browser does not support HTML5 audio.</p>
</audio>

为了能够播放该文件,一切正常,直到我单击 HTML5 播放器的播放按钮。然后,chrome 输出到控制台,服务器在应该加载文件时返回 404。我测试将 link 放入地址栏,这里服务器响应只是

File Not Found :(

有人知道如何解决这个问题吗?

我找到了答案: 我的本地 Ubuntu 安装显然配置为将上传的文件存储在 /tmp 中,在我重新启动系统或以其他方式清除我的临时文件之前,这不会导致问题。让服务器重新创建数据库解决了这个问题。