2017-10-03 11 views
1

私は初心者です。 私はフォームレジスタを持っており、フィールドはアバターであ​​り、いくつかのフィールドは検証が必要です。 私は自分のコンピュータから画像をアップロードしますが、いくつかのフィールドが検証をパスしないとフォームを送信すると、画像ファイルが失われます。 古い写真をどのようにアップロードできますか? テキストフィールドでは、古い値を取得するためにold()関数を使用できますが、入力ファイルではフォームが検証をパスしないときに値を保持する方法がわかりません。laravelで古い値の画像を取得するには

(いくつかの提案を持っている:...セッションにする場合、入力ファイルの変更を使用してAjaxのプット値を)あなたは、

申し訳ありませんが、私の英語力は良くない 感謝を。

答えて

0

いいえ、ファイル入力はLaravelまたは他のソフトウェアによって事前入力することはできません。あなたのウェブサイト(および任意のウェブサイト)は、ファイルへのローカルパスを知らず、また知るべきではありません。セキュリティリスクを想像してみてください!ユーザーが自分のSSH秘密鍵などをアップロードするように仕向けることができます。

検証エラーがあってもアップロードしたファイルを処理するだけで済みます。

次に、ステータスを保留にしてデータベースに格納するか、またはユーザーのセッションに一致するハッシュが格納された独自のハッシュを割り当てます。ポイントは、この特定のユーザーに属する不完全なアップロードを識別できることです。

フォームを表示するときに、セッションまたはデータベースからこれらの不完全なファイルを取得し、ファイルアップロードの横にサムネイルを表示します。これは、ユーザーに、そのファイルを再アップロードする必要がないことを伝えます。彼らが彼らの心を変えた場合に備えて、それを取り除く方法があることを確かめてください。

フォームが正しく送信されたら、セッションハッシュをクリアするか、データベースステータスを更新して完了します。あなたがする必要があるものは何でも。 Laravel 5.1: keep uploaded file as old input

:私はhere.Creditが彼に 参考になり貼り付けたので

Andrewtweberは非常によく回答しました

関連する問題