问题标签 [flysystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
776 浏览

laravel - 在使用 laravel 上传到数字海洋空间之前重命名文件

上传我使用的文件

Storage::disk('spaces')->putFile('uploads', $request->file, 'public');

该文件已成功保存在数字海洋空间中。但我想把它重命名为这样的东西user_1_some_random_string.jpg。然后保存它。

我该怎么做?

0 投票
0 回答
388 浏览

php - 用flysystem将文件写入zip的内存不足

我正在编写一个工具,将用户上传的图像收集到一个 zip 存档中。为此,我遇到了 Flysystem 的 ZipArchiveAdapter,它似乎做得很好。

当 zip 存档中的文件数量达到数千时,我遇到了内存限制问题。

当用户的图像数量开始超过 1000 个时,它通常会由于可用内存耗尽而失败。为了达到它似乎可以处理少于 1000 张图像的大多数用户的地步,我将内存限制增加到 4GB,但将其增加到超出这个范围并不是一个真正的选择。

此时的简化代码:

所以我的问题是:a)有没有办法让 Flysystem “随时随地”将 zip 文件写入磁盘?目前,当对象被销毁时,它将整个 zip 存储在内存中,然后再写入磁盘。

b)我应该使用另一个对此更好的库吗?

c) 我应该在这里采取另一种方法吗?例如让用户下载多个较小的 zip 而不是一个大的 zip。(理想情况下,我希望他们只下载一个文件)

0 投票
0 回答
102 浏览

php - Flysystem:优化流

我正在使用Flysystem 安装管理器来创建同步策略。

我的代码基于网站上的示例。但我做了一点改变,我用

并尝试同步1Go. 200它工作正常,但同步文件最多需要几秒钟。

我的问题是:是否可以优化我的服务器配置(或代码?)以减少同步此文件所需的时间?

我已经阅读了这篇文章并基于 Nagle 的算法,我试图增加我output_bufferingphp.ini配置。但是4096,,甚至(我8192的内存限制是)没有任何区别。16384true126M

我应该尝试其他的东西,还是只是我能用 PHP 拥有的最好的东西?

0 投票
1 回答
136 浏览

php - PHP展平目录

我正在使用flysystem来处理我的文件。

我没有看到扁平化目录的简单方法,所以我使用了这个

使用flysystem有更简单的方法吗?

0 投票
1 回答
697 浏览

php - 使用 Flysystem 处理大文件

我在 Symfony 应用程序中使用 Flysystem 来管理 S3 上的文件上传/下载。

大文件真的很慢,我在想使用流不会把所有文件都放在内存中,也许我做错了什么?(我在上传时遇到同样的问题,我正在使用 putStream)。

小文件的下载是即时​​的,但对于大文件,似乎在启动下载之前将完整的文件加载到文件系统中。

有没有办法“开始”下载而不是获取整个文件?

有什么建议么 ?

谢谢 :)

0 投票
3 回答
1336 浏览

filesystems - symfony 4 - flysystem 自动接线

你能帮我解决这个问题吗?

无法自动装配服务“App\Estimate\DocumentManager”:方法“__construct()”的参数“$flysystem”引用了类“League\Flysystem\Filesystem”,但不存在此类服务。您可能应该将此类别名为现有的“oneup_flysystem.estimateDocumentsFilesystem_filesystem”服务。

我的配置文件:

非常感谢。我不明白哪里有问题。

// 编辑:

如果我添加这个如果我在配置中添加这个

它仅适用于一个文件系统 f.. 有什么问题?

最好的问候吉米

0 投票
1 回答
7864 浏览

php - 调用 Flysystem,为什么会出现 PHP 致命错误:找不到 Class 'League\Flysystem\Adapter\Local'?

我尝试为Local适配器运行 Flysystem 的基本示例代码并得到一个Class 'League\Flysystem\Adapter\Local' not found错误。这是我的过程:

版本检查:

安装飞行系统:

输出显示我是最新的(这是我第二次运行它):

现在vendorweb 根目录中有一个文件夹。里面./web/vendor/league/flysystem/src/Adapter$有这些文件:

...只是显示它似乎安装正确(?)我在我的 web 根目录中创建了一个测试文件和一个测试目录:

  1. fly-local.php
  2. 我的文件/

fly-local.php我将他们文档中的文本粘贴到其中(https://flysystem.thephpleague.com/docs/adapter/local/

...并将适配器的根文件夹更改为myfiles(正确吗?)。然后我运行它:

它输出:

我究竟做错了什么?

0 投票
1 回答
1438 浏览

php - Laravel 文件系统 sftp 缓存适配器

我在这个问题上挣扎了一段时间。我正在使用 sftp 适配器连接到我经常读/写文件的另一台服务器。

对于缩略图创建,我使用 laravel Horizo​​n 的后台作业从远程 sftp 服务器检索 pdf 内容,然后生成 jpg 并放置在本地文件系统中。

对于第一次设置,我需要制作大约 150k 的缩略图。当我在 Horizo​​n 中使用大量进程时,远程服务器无法处理这个数量的连接。

我现在必须限制最多 2 个进程(10 秒~ * 150k~)不是最佳的。

我想缓存连接,因为我知道这是可能的并且可能解决了我的问题,但无法让它工作:(

我能找到的唯一参考/教程/示例/文档是

https://medium.com/@poweredlocal/caching-s3-metadata-requests-in-laravel-bb2b651f18f3 https://flysystem.thephpleague.com/docs/advanced/caching/

当我像这样使用示例中的代码时:

我收到错误:不支持驱动程序 []。

这里有没有人可以在这方面进一步帮助我?

0 投票
1 回答
789 浏览

php - 在 ILIAS 中使用 flysystem 附加到文件

我目前正在为某些插件编写一个记录器,写入 ILIAS 中相当大的日志文件。我正在使用整洁的新文件系统。由于新的日志消息需要附加到文件中,我不能简单地使用 put 或 update,因为它们似乎总是截断日志文件。Flysystem 似乎不支持简单的附加命令,所以我发现一种可行的方法如下:

但是,如果将大量数据附加到日志中,这对于 IO 来说似乎非常昂贵。我想,这最好使用流来完成。我的文档(https://github.com/ILIAS-eLearning/ILIAS/tree/release_5-3/src/Filesystem)我发现了以下内容:

但是,有了这个,我得到了Can not write to a non-writable stream异常。看来,我需要像这样打开流:

但是,文档中特别不鼓励这样做。通过使用 ILIAS 中的文件系统来解决这个问题的最佳方法是什么?

0 投票
2 回答
1180 浏览

php - 如何配置 OneUploaderBundle 和 OneUpFlysystemBundle 在 Symfony 4.1 中工作

介绍

我正在尝试Syfony 4.1使用OneUpUploaderBundleand OneUpFlysystemBundle

问题

我的配置运行良好,Symfony 3.4Symfony 4.1 我无法弄清楚如何在控制器的代码中注入 OnUploaderBundle。

配置

OneUploader.yaml

OneUpFlysystem.yaml

services.yaml 的一部分

代码

错误 1

如果像这样修改我的服务

当前错误

无法实例化接口 League\Flysystem\FilesystemInterface

错误 2

如果像这样修改我的服务

当前错误

(1/1) RuntimeException 无法自动装配服务“oneup_flysystem.gallery_filesystem”:方法“League\Flysystem\Filesystem::__construct()”的参数“$adapter”引用接口“League\Flysystem\AdapterInterface”但不存在此类服务。您可能应该将此接口别名为现有的“oneup_flysystem.my_adapter_adapter”服务。