Здравствуйте, я хочу загрузить аудиофайл (.mp3). Файл загружается в папку, значение вставляется в БД (MySql), пока все хорошо. Но когда я пытаюсь воспроизвести файл в папке загрузки, он говорит, что он поврежден или имеет неправильное расширение. Значение не base64 - это оригинальное имя файла, как показано на фотографии здесь.
html
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<input type="file" name="avatar" (change)="onFileSelect($event)" />
<button type="submit">Upload</button>
</form>
ts
onSubmit() {
const formData = new FormData();
formData.append('avatar', this.form.get('avatar').value);
this.group_id = 0;
this.media.tags = this.hashes;
this.media.audio = formData;
this.media.browser = true;
this.userData.uploadAudio(this.media, this.group_id ).subscribe(
(res) => {
this.uploadResponse = res;
console.log(res);
},
(err) => {
console.log(err);
}
);
}
php
$mediaData = $request->post('media');
$name = $mediaData['audio'];
$uri = substr($name,strpos($name,",")+1);
$encodedData = str_replace(' ','+',$uri);
try
{
$name = md5(time() . rand(1, 1000));
if(!file_put_contents('uploads/' . $name.'.mp3', $decodedData))
{
}
}
catch(Exception $e)
{
}
$name = $name . '.mp3' ;