2

meiouploadを使用して複数の画像をアップロードしようとしています。これは、データの各フィールドにimage.1.fieldを設定してからimage.2.fieldを設定すると正常に機能します。次に、saveallではなく、ループして作成/保存します。

私の問題は、画像フォルダ内の画像のサブフォルダとして使用されるフィールドがある場合に発生します。たとえば、私はフォームを持っています

image.1.product idimage.1.artistimage.1.fileアップロードするimage.2.productidimage.2.artistimage.1.fileアップロードする

これで、アイテムが保存されるときに、2番目の画像が間違った場所に保存されていることを除いて、製品IDの所属関係を含むすべてのデータが正しくなります。最初の画像はimages/image.1.artist/fileに保存されます2番目の画像はimages/image.1.artist / image.2.artist/fileに保存されます

これは非常に煩わしいことであり、meiouploadの動作によってサブフォルダーが配列のフィールドに設定される方法と関係があります。

データの保存に頼らざるを得なかった方法は、ループして値を作成して保存することです。これは問題ではありませんが、サブフォルダーを設定するこの方法では明らかに機能しません。

したがって、解決策は、2番目のアーティストフィールドを空白に設定し、同じアーティストに複数の画像のみを追加することです。

または、アーティストのデータフィールドを、画像が属する関連製品の実際のアーティストのフィールドに設定しますが、これを機能させることができないようです。

したがって、問題は、このフィールドの値を、個別の作成/保存ごとにデータベースにすでに存在する関連製品のアーティストフィールドにどのように設定できるかということです。

ps。少し長めになってすみません。

4

1 に答える 1

1

$ this-> dataを2つの配列として送信していたため、問題が発生しました。解決策は、this-> image-> product-> field('artist')を読み取り、this-> data ['Image'][1]['artist']に設定することでした。

このようにして、最初の配列のフィールドをアーティストに設定します。この特定のmeioupload動作では、データの2番目の配列にロールオーバーされるため、画像のアップロード(その後、/が付加されます)により、画像をアップロードできます。 3つのサムネイルを作成し、リレーション、ファイル情報などを保存しながら、対応するアーティストディレクトリに移動します。

これは画像の読み込みに違いがないようです(2番目の画像はデータベースに/ dir / Artists /として保存されるため、表示コードに2つの/が含まれていても、画像は正常に機能します)保存された最初のものにポーズをとる/dir/ Artists)

誰かが一度に1つずつmeiouploadを呼び出す独創的な方法を持っている場合、これはこのわずかな問題を回避できれば、同じフォームにさらに多くの画像を追加できます..alas私はまだこれを行う方法を知るのに十分賢いわけではありません..どんな助けでも大歓迎です!!!!

于 2011-01-10T11:14:40.513 に答える