【问题标题】:Laravel store Files from API with specific folder creationLaravel 存储来自 API 的文件并创建特定文件夹
【发布时间】:2021-02-03 03:57:36
【问题描述】:

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

从 VSTO 发送带有 File 和参数 id_message 的 POST。如何设置 Laravel Controller 存储文件为storage/app/MyFiles/{id_message}/file,参数id_message wile 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];

【问题讨论】:

  • 你可以试试Storage::put("foldername",$request->file)

标签: php laravel post store


【解决方案1】:

你可以用storeAs()代替store()试试这个:

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

【讨论】:

  • 我的错,你的回答把我带到了正确的方向。这工作$idParameter = $request->id_message=$request->id_message; 和文件$result=$request->file('file')->store('apiFiles/'.$idParameter);
【解决方案2】:

你可以使用

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

【讨论】:

  • storage_path storage/app/MyFiles/ 工作,我需要创建新文件夹 storage/app/MyFiles/{id_message}/ 并在此处存储文件
猜你喜欢
  • 1970-01-01
  • 2019-12-05
  • 2021-11-24
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多