不允许加载本地资源:angular js spring

时间:2018-08-31 14:57:52

标签: angularjs spring

我在前面使用angular js,在后端使用spring boot。我成功将图像上传到我的数据库,并将其放置在本地文件夹中。我的问题是当我想使用ng-src angular js显示此图像时出现此错误:

Not allowed to load local resource: C:/Users/Public/Pictures/5ecece06-5306-4743-a003-1590e202a000-original.jpeg

我把图像放到公用文件夹中,得到的错误相同。 这是我的网络服务:

kioskHotelCode: "ABRH",

countryName:“测试测试”, 网址:null, hotelImage:“ C:/Users/Public/Pictures/5ecece06-5306-4743-a003-1590e202a000-original.jpeg”,

我也尝试添加文件:///:

<img alt="here should be an image" 

ng-src =“ file:/// C:/Users/Public/Pictures/5ecece06-5306-4743-a003-1590e202a000-original.jpeg” width =“ 100” height =“ 90”>

这也是我后端的Web服务:

@RequestMapping(value = "/sid", method = RequestMethod.GET, produces = MediaType.IMAGE_JPEG_VALUE)
public ResponseEntity<byte[]> getImage() throws IOException {

    ClassPathResource imgFile = new ClassPathResource(uploadsDir);
    byte[] bytes = StreamUtils.copyToByteArray(imgFile.getInputStream());

    return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).body(bytes);
}

但它是相同的错误,我正在用谷歌浏览器进行测试,但没有找到解决方案。我的问题是解决这个问题的最佳方法?以及我应该在哪里放置动态图像(我想用户可以更改它)?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您不应使用本地图像,因为在发布应用程序时,其他浏览器客户端无法看到此图像。 试试这个https://www.baeldung.com/spring-mvc-static-resources

答案 1 :(得分:0)

将图像放置在该Spring webapp的上下文路径中,然后从该位置检索图像。

如果图像在: WEB-INF/IMG/image.jpg

您可以将其检索为: IMG/image.jpg

如果要使其动态化,相同的位置将起作用