Meteor FS链接导致404错误

时间:2016-10-19 17:16:12

标签: reactjs meteor http-status-code-404

我目前正在开发一个Meteor React应用程序,该应用程序使用ostrio:files包将音频文件存储在名为Files的集合中。在另一个(常规mongo)集合中,我在转换函数中使用以下代码来" 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。我测试了将链接放入地址栏,这里的服务器响应只是

File Not Found :(

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

1 个答案:

答案 0 :(得分:0)

我找到了答案: 我的本地Ubuntu安装显然被配置为在/ tmp中存储上传的文件,在我重新启动系统或清除我的临时文件之前没有出现问题。让服务器重新创建数据库解决了问题。