問題タブ [vichuploaderbundle]
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.
symfony - Symfony 3 VichUploaderBundle が画像を正しいディレクトリに移動しない
Symfony3 で VichImageBundle を使用しようとしていますが、Vich Image Bundle と組み合わせて S3 に新しく導入された FormType::class 呼び出しに関するドキュメントはまだありません。可動部以外は全て動いています。
ここのプロジェクト内にフォルダー構造を作成しました: web/images/aod_images
次のように yml ファイルに構成を設定しました。
エンティティのプロパティは次のとおりです: (ゲッターとセッターが配置されています)
コントローラー クラス、特に editAction コントローラーと newAction コントローラーで、必要に応じて set time メソッドを呼び出しています。
このエンティティの FormType クラスには、これまでのところ次のものがあります。
->add メソッドにどのオプションを渡せばよいか、イメージ インスタンスごとにまだわかりません。
アプリケーションはフォームを正しく作成しています。
tail -f the dev.log を実行すると、doctrine.DEBUG チャネルの一部として次のメッセージが表示されます。
イメージ名のプロパティが、config.yml ファイルでマップしたものと一致しません。代わりに、パスは内部の php tmp ディレクトリへのローカル マシン ルートを反映します。server:run コマンドを使用した後、これを 127.0.0.1:8000 から実行しています。
そのディレクトリを見ると、画像はそこに移動されていません。
(間違った) イメージ名がデータベースにコピーされています。ただし、画像へのパスは空です (パスが正しくありません)。さらに、正しいパス/ディレクトリも空です。
よろしく!
編集
Matteo の提案に従って、FormType.php ファイルに次の変更を加えました。
編集2
実装をドキュメントにより厳密に準拠させるために、ドキュメントの提案に従って、updatedAt セットをエンティティ内に配置しました。
私の set メソッドは次のようになります。
タイプヒンティングをフルパスで明示的に設定しました。今、私は次のエラーを受け取ります。
php - Symfony3 + VichUploaderBundle + カスタムアップロードディレクトリ
カスタムファイル名で VichUploaderBundle をセットアップしましたが、正常に動作します..
関連する config.yml:
私のカスタム名:
ただし、カスタム パスを使用してファイルをアップロードしたいと考えています。
必要なアップロード パスをコントローラーのセッション変数 "upload_files_path" に保存し、そのパスを名前で取得します。
データベース(id、image_name、udated_at)に保存しますが、ファイルをファイルシステムに書き込みません!
私が電話するとき
テンプレートでは、先頭に「/」を付けたファイル パスを返します。私はそれを機能させる方法を理解できません。
カスタムファイルパスの構成は次のとおりです。「uri_prefix」と「upload_destination」を編集して空白にしました。編集されたconfig.yml
私の更新されたカスタム名: ここでは、アップロード パスと新しいファイル名を連結します。
あなたの時間と知識をありがとう。
php - Symfony/ VichUploaderBundle: DirectoryNamer
DirectoryNamer を実装しようとしていますが、残念ながらエラー メッセージが表示され、次に何をすべきかわかりません。
コントローラー (抜粋):
DirectoryNamer サービス クラス:
VichUploader の構成:
... および結果のエラー メッセージ:
コンパイル エラー: ArtistDirectoryNamer::directoryName() の宣言は、Vich\UploaderBundle\Naming\DirectoryNamerInterface::directoryName($object, Vich\UploaderBundle\Mapping\PropertyMapping $mapping) と互換性がある必要があります
私のコードの何が問題なのですか? DirectoryNamer を実装するまでは、アップロードは正常に機能し、ファイルは「/upload/artists」に保存されていました。
ヒントはありますか?前もって感謝します!
php - Symfony/VichUploaderBundle: エンティティを削除
VichUploader を使用して、Symfony 3 アプリケーションでファイルのアップロードを管理しています。今、ファイル/エンティティの削除を管理する方法を知りたいですか?
app/config/config.yml の抜粋:
エンティティの抜粋:
コントローラーの抜粋:
... '$disabled->remove()' は単なるテストであり、エラー メッセージ (「remove という名前の未定義のメソッド」) が表示されます。VichUploader によって管理されているファイル/エンティティを削除/削除する正しい方法は? ヒントはありますか?前もって感謝します!
symfony - VichUploaderBundle : image_name を null にすることはできませんエラー
私は Symfony3.1 を使用しており、VichUploaderBundle をインストールしました。ドキュメントに従っていますが、このエラーは、フィールド 'image_name' を空にすることはできません (null) ことを意味します
SQLSTATE[23000]: 整合性制約違反: 1048 Le champ 'image_name' ne peut être vide (null)
設定
実体
フォームタイプ:
小枝
アクション
php - VichUploaderBundle: Post From による画像の追加が機能しない
Symfony2.3 アプリケーションで VichUploader を使用しています。Post エンティティと Image エンティティの間に 1 対 1 の関係を作成し、Data Transformer を使用して Post フォームから画像を追加しています。すべてがうまく機能しています。例外はありませんが、post_id がデータベースの Image テーブルに保存されていません。おそらくそのため、投稿したいすべての画像が壊れています。
助けていただければ幸いです。
画像エンティティ:
投稿エンティティ:
画像タイプ
投稿タイプ
config.yml
symfony - VichUploaderBundle - タイプ「AppBundle\Entity\File」、「Symfony\Component\HttpFoundation\File\UploadedFile」の予想される引数が指定されました
https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/usage.mdの指示に従いました が、 User エンティティの保存中に次のエラーが発生しました:
コードは次のとおりです。
私のフォーム:
そこに問題があることを知っていますか?