の回答(複数可)以下の2009年のレガシーブラウザの状態が今、あなたは実際にはJavaScriptを経由してファイル入力要素の値を設定することができます反映2017年
は、詳細については、この問題の答えだけでなく、デモを参照してください:
How to set file input value programatically (i.e.: when drag-dropping files)?
私はこの質問が重複している知っているが、私は多分考えるsomeo私を助けることができます。
まず問題をお聞かせください。
私はいくつかのフィールドに更新するためのフォームがあります:名前、順序、公共、pathheaderとpathhomeをし、私の質問はこれです:
それはでクリックせずpathheaderとpathhomeで同じ値で、フォームを更新することが可能です入力タイプのファイルを再度ですか?
入力タイプのファイルは、ここでは次のようになります。私は、ビューをレンダリングするとき、あなたがいない場合
@if (Storage::disk('projects')->has($project->slug))
<img src="{{ asset('/storage/projects/'.$project->slug.'/header.png') }}" id="img" class="img" style="width:100%;height:200px;background-color:#ccc;border:2px solid gray;">
@else
<img src="" id="img" class="img" style="width:100%;height:200px;background-color:#ccc;border:2px solid gray;">
@endif
<input type="file" name="pathheader" id="pathheader" class="form-control-file" aria-describedby="fileHelp" style="display:none;">
だから、それは、私はそれがサーバーにそれを見つけて、もう一度それをクリックすることは現実的ではないだと思っ画像を示しますそれを変更したい。
私はあなたの意見を教えてください。もし誰かがそれをやる方法を知っていれば、私は感謝します。いくつかのライブラリや他の機能でそれを行う方法を知っていれば(私はそれを知っているよう
おかげで多くのことを
がを解決し
簡単な方法:コントローラでは必要ありませんデータを作る
。関数の内部:
public function updateProject(Request $request, $id)
{
$this->validate($request, array(
'slug'=> 'required',
'order'=> 'required',
'public'=> 'required'
));
$project = Project::find($id);
$project->slug = $request->input('slug');
$project->order = $request->input('order');
$project->public = $request->input('public');
if ($request->hasFile('pathheader')){
$project->pathheader = $request->file('pathheader');
\Storage::disk('projects')->putFileAs($project->slug,$project->pathheader,'header.png');
}
if ($request->hasFile('pathhome')){
$project->pathhome = $request->file('pathhome');
\Storage::disk('projects')->putFileAs($project->slug,$project->pathhome,'home.png');
}
$project->save();
return redirect()->route('admin.projects.show', $project->id);
}
私はあなたがすでにこれを見ている願っています:https://stackoverflow.com/q/1696877/5894241をあなたは、フォームを更新することはできません – Nisarg
。データベースで__record__を更新します。いくつかのフィールドの値が__not提供されていれば_ - このフィールドを更新する必要はありません。 –
こんにちは@NisargShah最初にあなたの高速回答に感謝、私はすでにこれを見た。そして、JSを使ってファイルのインスタント自動アップロードを行うのがより良い方法かもしれません。あなたはどう思いますか?それは最善の方法ですか? –