php - Symfony 上传的文件无法在 azure 上读取
问题描述
我有 2 个问题。
我在 Azure MySQL + PHP Web 应用程序上部署了 Symfony 3.4 应用程序。我有一些用户可以上传文件的表单。图片、pdf等
第一个问题:
当我部署站点时,我的 symfony 应用程序上传目录中有 300 多个文件,我无法从表单上传文件。当我登录到 Azure 时,我发现了一个错误。
ERROR
There are 349 items in this directory, but maxViewItems is set to 299. You
can increase maxViewItems by setting it to a larger value in localStorage.
所以我删除了所有图片并尝试再次上传图片并成功上传图片。那么如何从 azure 中删除 localStorage 限制?
第二个问题:
上传的图片没有出现在网站上。我怎样才能在网站上展示它们?
我的上传目录是
/web/uploads/media/default/0001/01/
在这里,我正在从表单上传图像。
解决方案
有一个博客解释了这个问题的原因是由 Kudu 服务 Web代码引起的,您可以参考并尝试通过下面的解决方案来修复它。
这里有两个解决方案可以帮助修复它。
- 正如@mohamed-jebri 所说,更新页面中使用的 Javascript 代码,并更改
MAX_VIEW_ITEMS
via的值window.localStorage['maxViewItems'] = 350
。 - 一般在 Azure for Webapp 上,推荐通过 Azure Blob Storage 存储和访问大量资产文件,具体使用方法请参考PHP 官方文档。同时,为了存储和获取文件名或路径等资产文件的元数据,您可以使用Azure Table Storage。