当文件名只有一个单词时,我已经能够成功上传文件,当文件名中有空格时,我会从服务器收到错误。
示例:1.]'/音乐/爱情.m4a'->上传成功2] '/音乐/爱你的邻居。m4a'->上传失败的
任何关于如何在React native中处理此问题的想法都将受到高度赞赏。
我一直试图在react native中上传音频文件,但由于文件名中的空格无法上传到服务器,我从服务器收到了以下错误;
**file:** {uri: 'file:///Users/fathom-d004/Library/Developer/CoreSi…m.brandarmy.user1-Inbox/Love%20Thy%20Neighbor.m4a',
name: 'Love Thy Neighbor.m4a', type: 'audio/x-m4a'}
错误:错误:ENOENT:没有这样的文件或目录,打开'/Users/south-d004/Library/Developer/CoreSimulator/Devices/83619055-D45F-4FA9-85CC-A2009A599EA7/data/Channels/data/Application/FE596B31-0385-4F77-B342-EF354F86F1B/tmp.com.brandarmy.user1 Inbox/Love%2520Thiy%2520Eighbor.m4a'
用于以下简单解决方案;
我相信我已经发现了错误。问题是我上传的文件中有一个空间,所以我们需要在上传文件到服务器之前先解码URL,比如:
var decodedURL = decodeURIComponent(file.uri);
const base64 = await fs.readFile(decodedURL, "base64");
谢谢