Laravel React Загрузка файлов в форме - PullRequest
0 голосов
/ 26 февраля 2019

Поэтому я пытаюсь реализовать страницу загрузки в моем приложении, и на этой странице вы можете загрузить как изображение, так и песню, а также другие вещи (жанр, описание и т. Д.).Мне удалось заставить изображение работать, используя вмешательство изображения, но я пытаюсь заставить мой файл mp3 / wav (используя функцию декодирования base64) быть прочитанным как файл, таким образом я могу использовать метод перемещения, чтобы сохранить его в локальной папке (действительная загрузка), и я не понимаю, почему 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 в виде строки, а не вывода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...