【发布时间】:2016-07-31 11:24:44
【问题描述】:
我们正在使用 Laravel 5.2 (REST API) 和 AngularJS 创建网站。
在“图片库”之前一切都很顺利,它是根据存储在服务器上的文件创建的。
起初我在这里找到了一些信息: Laravel image gallery logic。他们没有使用 REST API,但这是一个很好的起点。
然后我发现了一些关于将图像存储在公共文件夹中并通过 API 路径发送给它们的信息,例如:“public/images/folder1/image.jpg”,但正如其他一些人指出的那样,这并不安全。很容易“猜测”到图像的其他路径会是什么样子。当然,我总是可以为每个图像创建一些独特的 guid 并将其存储在数据库中,但我不知道这是否是最好的方法。我不喜欢将所有用户个人信息(图像)存储在“public”文件夹中的一般想法。
然后我在这里找到了另一条信息:https://www.codetutorial.io/laravel-5-file-upload-storage-download/,作者在其中写了如何使用 REST API 实际发送图像数据,但有一个问题。 GET 请求只下载一个文件,所以如果我在单页上有 20 张图像,那么我必须向服务器发送 20 个 GET 请求才能获取它们(假设有 100 个用户)。同样,我认为这不是解决我的问题的最佳方法。
我可能更愿意在单个请求中发送所有图像,但这是个好主意吗?创建一个大 JSON 并拆分?
有人可以帮助我或至少给出一些新的想法如何处理它吗?我想我在这里错过了一些重要的事情。
【问题讨论】:
-
执行 UUID 方法。这就是大多数主要网站所做的 - 查看 Twitter、Facebook、Google 等图片中的 URL。你真的不想将图像数据直接存储在数据库中,你真的不想让 PHP 参与到一堆静态文件请求中。
-
我没有将它们直接存储在数据库中,而是存储在服务器上的文件夹中。我只是想知道什么更好:通过API“发送所有文件或只是路径”。但是感谢您的帮助,我将研究 UUID。
标签: php angularjs image rest laravel