Laravel通过创建特定文件夹来存储来自API的文件

问题描述

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

从VSTO发送带有File和参数id_message的POST。如何设置Laravel Controller将文件存储为storage/app/MyFiles/{id_message}/file,并将参数id_message保存为file_path数据库表中?

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);
,

您可以使用

ANY