Laravel React在表单中上传文件

时间:2019-02-26 05:38:27

标签: php json reactjs laravel-5

因此,我尝试在我的应用程序中实现一个上传页面,并且在该页面中,您可以同时上传图片和歌曲以及其他内容(类型,说明等)。我设法通过图像干预使图像正常工作,但是我试图将mp3 / wav文件(使用base64解码功能)读取为文件,因此可以使用move方法将其存储在本地文件夹中(有效上传),但我不明白laravel为什么将其读取为字符串。有什么我想念的吗?

解码功能

function base64_to_song($base64_string, $output_file) {
    // open the output file for writing
    $ifp = fopen( $output_file, 'wb' ); 

// split the string on commas
// $data[ 0 ] == "data:image/png;base64"
// $data[ 1 ] == <actual base64 string>
$data = explode( ',', $base64_string );

// we could add validation here with ensuring count( $data ) > 1
fwrite( $ifp, base64_decode($data[1]));

// clean up the file resource
fclose( $ifp ); 

return $output_file; 
}

在我的控制器中:

$songextension = $request->get('songextension');
$file = $request->json()->get('song_file');
$extension = $songextension; 
$filename = rand(11111,99999).'.'.$extension;
$newfile = base64_to_song($file, $filename);
$destinationPath="uploads/music";
$newfile->move($destinationPath, $filename);

它只是一直将$ newfile作为字符串而不是输出来读取

0 个答案:

没有答案