如何显示带有React Native的ASP.NET Core返回的非公开图像?

时间:2019-04-04 09:19:12

标签: reactjs image react-native asp.net-core expo

我正在建立一个包含三个部分的项目:一个React Web应用程序,一个 React-Native移动应用程序和一个常见的 ASP.NET Core后端。对于我来说,这是我的第一要务,这是我的第一份开发工作。

该项目的核心是关于从移动应用程序拍摄并发送到后端,然后又发送回两个应用程序以照片库方式显示的私人照片。

这个问题是关于最后一部分的:将jpeg文件从后端获取到 mobile 应用并进行实际显示。

在开发的第一阶段,该应用程序通过一个简单的网址显示图片至其确切位置。每个人都可以键入URL并查看图片,因此它不是私人的。

然后我尝试通过控制器实际要求后端以这种方式发送回图片:

var image = System.IO.File.OpenRead(path);
return File(image, "image/jpeg");

这在React网站上效果很好。但是,当像网站一样给定控制器URL时,React-Native <Image />组件不会显示任何内容。

然后,仅针对移动应用程序,我从控制器以Base64格式发送了图片:

var image = System.IO.File.ReadAllBytes(path);
return "data:image/jpeg;base64," + Convert.ToBase64String(image);

从技术上讲这是可行的,但在应用程序性能上要重得多,调用我的后端以及图像显示本身都需要花费一些时间。

我觉得这个问题的确是由于我的经验不足,我可能从一开始就采取了错误的方式。

还有其他方法可以发送或显示这样的私人照片吗?

非常感谢您的时间。

0 个答案:

没有答案