This commit is contained in:
parent
5c627a80e0
commit
e63613f337
@ -105,7 +105,7 @@ class InvSettingController extends Controller
|
||||
// ▼ 既存レコードを取得(1レコード運用)
|
||||
$row = InvSetting::first();
|
||||
|
||||
// ▼ 画像パスを設定(AJAX アップロード済みファイルのパスを優先)
|
||||
// ▼ 画像パスを設定
|
||||
$imagePath = $request->company_image_path;
|
||||
|
||||
// ▼ フォームで新たにファイルを送信した場合のみ再保存(保険的処理)
|
||||
@ -148,6 +148,39 @@ class InvSettingController extends Controller
|
||||
/**
|
||||
* 社判画像アップロード(AJAX用)
|
||||
*/
|
||||
// public function upload(Request $request)
|
||||
// {
|
||||
// // ファイルがアップロードされているか確認
|
||||
// if ($request->hasFile('company_image_file')) {
|
||||
|
||||
// // 拡張子チェック & バリデーション
|
||||
// $request->validate([
|
||||
// 'company_image_file' => 'required|image|mimes:png,jpg,jpeg|max:2048',
|
||||
// ], [
|
||||
// 'company_image_file.image' => '画像ファイルを選択してください。',
|
||||
// 'company_image_file.mimes' => 'アップロード可能な形式は png, jpg, jpeg のみです。',
|
||||
// 'company_image_file.max' => 'ファイルサイズは2MB以下にしてください。',
|
||||
// ]);
|
||||
|
||||
// // ファイル保存(public/storage/inv に格納)
|
||||
// $path = $request->file('company_image_file')->store('inv', 'public');
|
||||
|
||||
// // ファイル名を抽出
|
||||
// $fileName = basename($path);
|
||||
|
||||
// // JSONで返却(JSが受け取る)
|
||||
// return response()->json([
|
||||
// 'file_name' => $fileName,
|
||||
// 'path' => $path,
|
||||
// ]);
|
||||
// }
|
||||
|
||||
// // ファイル未選択時
|
||||
// return response()->json([
|
||||
// 'error' => 'ファイルが選択されていません。'
|
||||
// ], 400);
|
||||
// }
|
||||
|
||||
public function upload(Request $request)
|
||||
{
|
||||
// ファイルがアップロードされているか確認
|
||||
@ -162,15 +195,22 @@ class InvSettingController extends Controller
|
||||
'company_image_file.max' => 'ファイルサイズは2MB以下にしてください。',
|
||||
]);
|
||||
|
||||
// ファイル保存(public/storage/inv に格納)
|
||||
$path = $request->file('company_image_file')->store('inv', 'public');
|
||||
// ファイルオブジェクト取得
|
||||
$file = $request->file('company_image_file');
|
||||
|
||||
// ファイル名を抽出
|
||||
$fileName = basename($path);
|
||||
// 元のファイル名(例:company_logo.png)
|
||||
$originalName = $file->getClientOriginalName();
|
||||
|
||||
// JSONで返却(JSが受け取る)
|
||||
// 保存用に、ファイル名の重複を避けるためにユニーク名を生成(推奨)
|
||||
$fileName = $originalName;
|
||||
|
||||
// public/storage/inv に保存
|
||||
$path = $file->storeAs('inv', $fileName, 'public');
|
||||
|
||||
// JSONで返却(JS側で表示用ファイル名を使う)
|
||||
return response()->json([
|
||||
'file_name' => $fileName,
|
||||
'file_name' => $originalName, // ユーザーが見えるファイル名
|
||||
'stored_as' => $fileName, // 実際に保存されたファイル名
|
||||
'path' => $path,
|
||||
]);
|
||||
}
|
||||
@ -182,4 +222,5 @@ class InvSettingController extends Controller
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user