首页 > 解决方案 > Laravel / php 中的本地保存 blob 文件(来自 JS/axios)

问题描述

我想将 blob(来自 JS)保存到文件(通过 php 控制器)。

我想我几乎尝试了一切,但没有成功。这是我得到的:我无法获取文件本身的内容。我想我不远,但我错过了一些东西。

在此处输入图像描述

这是我尝试过的一切

public function uploadsimplefile(Request $request){
    $blob = $request->blob;
    $filename = $request->name;

    $path ="./gpx/" . $filename;

    //test 1
    file_put_contents(
        $path,
        base64_decode($blob)
    );

    //test 2
    file_put_contents(
        "./gpx/test2.jpg",
        $blob
    );

    //test 3
    $content = file_get_contents($blob); // URL of your blob object
    file_put_contents("./gpx/test3.jpg", $content);

    //test 4
    $ch = curl_init($blob);
    $fp = fopen("./gpx/test4.jpg", 'wb');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);

    //test 5
    $upload_dir = "./gpx/";
    $img = $blob;
    $data = base64_decode($img);
    $file = $upload_dir .  "test5.jpg";
    $success = file_put_contents($file, $data);
    print $success ? $file : 'Unable to save the file.';

}

标签: javascriptphplaravelaxiosblob

解决方案


推荐阅读