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 に答える