首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传媒体文件后,无法在角度2中播放该文件,显示404未找到

上传媒体文件后,无法在角度2中播放该文件,显示404未找到
EN

Stack Overflow用户
提问于 2017-06-24 23:58:13
回答 1查看 598关注 0票数 1

我在Angular2中遇到了一个问题:我有媒体上传(图片/视频)的模块。因此,上传模块工作正常,但上传文件后,当我尝试观看视频或查看图像文件时,我得到一个404Not Found错误。但是,如果我运行ng build并再次刷新它,我可以观看视频或查看图像文件。我是不是做错了什么,或者我们可以用某种方式来处理?

获取http://localhost:4200/dist/assets/mediauploads/Desktop%20(19).jpg 404 (未找到)

代码语言:javascript
运行
复制
//This is my node js code

socket.on('Upload', function (data){
    var Name = data['Name'];
    Files[Name]['Downloaded'] += data['Data'].length;
    Files[Name]['Data'] += data['Data'];
    if(Files[Name]['Downloaded'] == Files[Name]['FileSize']) //If File is Fully Uploaded
    {
        fs.write(Files[Name]['Handler'], Files[Name]['Data'], null, 'Binary', function(err, Writen){
           var inp = fs.createReadStream("./src/assets/temp/" + Name);
           var out = fs.createWriteStream("./src/assets/mediauploads/" + Name);

          inp.pipe(out);
                  inp.on("end", function() {
                      var path="./src/assets/temp/" + Name;
                      var tempFile = fs.openSync(path, 'r');
                      if(fs.existsSync(path)){
                      fs.closeSync(tempFile);
                       fs.unlinkSync(path);
                       socket.emit('Done', {'Image' : './src/assets/mediauploads/' + Name});
                      }

                  });
        });
    }
    else if(Files[Name]['Data'].length > 10485760){ //If the Data Buffer reaches 10MB
        fs.write(Files[Name]['Handler'], Files[Name]['Data'], null, 'Binary', function(err, Writen){
            Files[Name]['Data'] = ""; //Reset The Buffer
            var Place = Files[Name]['Downloaded'] / 524288;
            var Percent = (Files[Name]['Downloaded'] / Files[Name]['FileSize']) * 100;
            socket.emit('MoreData', { 'Place' : Place, 'Percent' :  Percent});
        });
    }
    else
    {
        var Place = Files[Name]['Downloaded'] / 524288;
        var Percent = (Files[Name]['Downloaded'] / Files[Name]['FileSize']) * 100;
        socket.emit('MoreData', { 'Place' : Place, 'Percent' :  Percent});
    }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-25 00:33:39

运行ng build时,angular应用程序会内置到dist文件夹中。我的猜测是,你的应用程序的设置方式实际上是将图片上传到你的src/assets文件夹中。当您从dist文件夹运行应用程序时,您新上传的图像/视频不可见。当您重新构建应用程序时,该文件将被复制到dist文件夹中,并变得可访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44738262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档