2

我不明白Gaufrette和 symfony2。

在我看来,这似乎只适用于文本文件/文本内容。我可以创建一个文件,但不能从本地源(即路径)复制。

我想做的是这样的:

$adapter = new LocalAdapter($realpath);
$filesystem = new Filesystem($adapter);
$filesystem->fromUploadedFile($tempPathOfUploadedFile,$idForGaufrette);

如何存储图像以及如何在用户请求时处理它的输出?

更新:

  • 如何在 symfony 中访问上传文件的临时文件名”?
  • 如何访问Symfony\Component\HttpFoundation\File\UploadedFileSymfony2 中对象中存在的现有私有属性 $path?
4

2 回答 2

3

该方法copy(x, y)未实现,但如果要存储文件,可以使用 Filesystem Classrename($key, $new) 中定义的方法移动它。

为了在用户请求时处理输出,您只需要一个指向图像路径的链接(可能在数据库中)。所以你不需要文件系统(你可以用has($key)方法检查文件是否存在)。

在所有情况下,都使用适配器Local在本地工作。

如果您需要像“ftp://mydomain/myPicture”这样的流包装器,我最近发送了一个PR以在 config.yml 中配置流包装器,并注册您想要的文件系统及其域。

于 2012-10-12T13:35:10.823 回答
2

要获取 tmp 文件名:

$file->getPathName(); // /tmp/filename

其中 $file 是一个Symfony\Component\HttpFoundation\File\UploadedFile对象。

于 2013-01-29T14:03:07.387 回答