web-dev-qa-db-ja.com

Webform、アップロードされたファイル用にカスタマイズされたディレクトリを作成する

初心者とここでの最初の質問。私はまだDrupalを学んでいます。何かを逃したらすみません

これが私の問題で、Webformを使用してアップロードページを作成しています。ユーザーはID(テキストフィールド)を入力し、ファイルをアップロードします。ファイルはサーバーのプライベートセクションにアップロードされます。今、私はファイルがこの別のフォルダーにアップロードされることを確認しようとしています(IDにちなんで名付けられました)(たとえば、all/private/ID /)。 Webフォームを使用してそれを実行できますか?今のところ、使用できるのは基本的なトークンだけであり、これらのディレクトリを作成するために他のフィールド(例:%username)から取得できる値ではありません。

Webフォームが答えにならない場合、他にどのような方法で対処できますか?

1
Ram

Drupal stuff :)の土地へようこそ

一般的にここにいくつかのヒントがあります:

  • テキストフィールドIDからフォルダーを作成するのは面倒です。後続のユーザーが同じIDを入力していない、またはお互いのファイルを上書きしていないことをどのようにして知ることができますか?
  • Webformには使用可能なフックのAPIがあります 。たとえば webform_submission_presave() を見てください。これにより、ユーザーが送信した回答を変更/キャプチャして変更することができます。保存するファイルの宛先を変更し、Drupal API関数 file_prepare_directory を使用して宛先ディレクトリーが存在することを確認することができます。

オールインワンのコードなしのソリューションを探している場合。この問題のキューを見てください アップロードファイルのカスタムトークンをサポートしているように見えるWebフォームのパッチ

0
tenken