如何将上传的.wav音频文件传递到Java后端,然后将该文件保存到目录中?
ie:用户上传文件,点击保存,然后服务器将文件保存到其他目录。
JavaScript /反应
最初使用html输入上传文件,然后通过javascript中的FileReader读取
<input
accept=".wav"
className={classes.input}
id="contained-button-file-1"
name='CUST1'
type="file"
onChange={handleUploadClick}/>
//用于文件上传的JavaScript
const handleUploadClick = (event) => {
let panel = event.target.name;
let file = event.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = (e) => {
setUploadedFileName(prev => ({
...prev,
[panel]: file.name
}));
setUploadedFiles(prev => ({
...prev,
[panel]: file
}))
setAudio(prev => ({
...prev,
[panel]: new Audio(e.target.result)
}));
};
};
const saveFile= (prompt) => {
let fileData= {
audioFile: uploadedFiles[prompt] || '',
prompt: prompt,
fileName: uploadedFileName[prompt]
}
api.save(fileData)
}
发布的数据包含一些将保存到MySQL模式的数据,我们将.wav文件保存到目录中。
后端的相应文件写入部分将如何?还是我将文件错误地传递到了后端?
到目前为止,我有类似的东西,但是它不起作用。
AudioInputStream clip = AudioSystem.getAudioInputStream(audioDTO.getAudioFile().getInputStream());
AudioSystem.write(clip,
AudioFileFormat.Type.WAVE,
new File("C:\\sounds\\" + audioDTO.getFileName()));