上传没有表格的文件 (Laravel)

Upload file without form (Laravel)

我正在尝试将 REST API 写入 laravel 5.1。如何在没有表单和视图的情况下将文件(图像)上传到服务器?

我试图从请求的正文中取出并将其转换为资源,但也得到了线条图像。

$image = Request::getContent();
$i = imagecreatefromstring($image);
imagejpeg($i);

您可以将 CURLcurl_file_create 一起使用:

$file = '/foo/bar/img.jpg';
$filename = basename($file);
$data = [
    'uploaded_file' => curl_file_create($file, 'image/jpeg', $filename),
];
$ch = curl_init();   
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

或者仅使用 MIME base64 编码文件(base64_encode 函数)并将其包含为 API 参数:

$file = '/foo/bar/img.jpg';
$imagedata = file_get_contents($file);
$base64 = base64_encode($imagedata);

输入::文件('nameOfParameterGet') 您可以获得一组文件。