Laravel 存储 API 中的文件并创建特定文件夹

Laravel store Files from API with specific folder creation

我的目标是根据 VSTO POST 请求创建 Laravel API 来存储文件。但首先需要弄清楚如何在 laravel 文件存储位置创建唯一文件夹。

从 VSTO 使用 File 和参数 id_message 发送 POST。如何设置 Laravel 控制器将文件存储为 storage/app/MyFiles/{id_message}/file,以及参数 id_messagefile_path 保存到数据库 table?

FileController

class FileController extends Controller
{
    function fileUpload(Request $request)
    {

    $request->validate([
        'id_message' => 'required|min:6'
    ]);

    $input = $reguest->all();
    
    $result=$request->file('file')->store('MyFiles');
    return ["result"=>$result];

更新

对于需要线索的人:

function fileUpload(Request $request)
{
    //$fileFromApi=storage_path('app/apiFiles/');
    $request->validate([
        'id_message' => 'required|min:6'
    ]);

    $input = $request->all();
    
    $idParameter = $request->id_message=$request->id_message;

    $result=$request->file('file')->store('MyFiles/'.$idParameter);
    return ["result"=>$result];

而不是 store() 你可以使用 storeAs() 试试这个:

$file = $request->file('file')->storeAs($filepath, $filename, $driver);

您可以使用

$result=$request->file('file')->store('MyFiles/'.id_message);