需要使用共享文件夹媒体文件

时间:2019-09-22 10:50:34

标签: angular5 asp.net-core-2.1 shared-directory local-files

我正在客户端上使用angular 5,在服务器端上使用.net core 2.1。对于这个项目,我需要在共享的网络文件夹中显示和上传媒体文件(即图像和视频)。但是我的客户端无法显示共享文件夹路径中的图像,因为浏览器阻止了本地文件。所以,有什么方法可以从api发送回图像文件并在前端显示它们?任何建议都会有所帮助。现在已经处理了一周左右。

  1. 试图直接从文件夹路径加载。我的路径看起来像这样:“ \ nwfs01 \ FINALSERVER \ CENTERSTORIES \ 210919 \ 21092019-DIPU--35091521.JPG” 在控制台中收到此错误消息
  

不允许加载本地资源:   文件://nwfs01/FINALSERVER/CENTERSTORIES/160919/CAROLINE-HERNANDEZ-TMPQ5R9MBOC-UNSPLASH110609.JPG

  1. 但是,我可以从后端访问图像。我试图将图像作为图像文件发送到模型列表或字节数组中,但是数据太大,并且不知道如何在角度显示dotnet图像文件。 我的C#代码在这里:

        foreach (var story in storyForReturn)
        {
            List<Storypictures> pictures = await _context.Storypictures.Where(s => s.Storycode == story.Storycode).ToListAsync();
            List<PhotoDto> photoList = _mapper.Map<List<PhotoDto>>(pictures);
            foreach (var photo in photoList)
            {
                photo.Path = "\\\\nwfs01\\" + photo.Path;
                photo.File = Image.FromFile(photo.Path);
                // photo.File = turnImageToByteArray(file);
    
            }
            story.AttachedPhotoList.AddRange(photoList);
        }
        return Ok(storyForReturn);
    

前端

<ul *ngFor="let item of story.attachedPhotoList">
              <a class="btn btn-default btn-sm" href="file:///{{item.path}}" target="_blank"><span class="fa fa-copy"></span> Click link</a>
            <li>{{item.path}} <a class="btn btn-default btn-sm" (click)="copyToClipBoard(item.path)"><span class="fa fa-copy"></span> Copy link</a></li> 
            <p style="padding-top: 1rem"><b>Caption: </b>{{item.caption}}</p>
            <hr>
          </ul>

0 个答案:

没有答案