我一直在尝试使用XMLHttpRequest
来从C结构创建一个二进制文件。
如果我在十六进制编辑器中打开文件,则所有字符均按预期进行编码。
如果使用<input type='file' />
将文件添加到静态HTML页面,然后使用FileReader.readAsArrayBuffer()
,则可以看到ArrayBuffer具有相同的期望值。
但是,当我尝试通过XMLHttpRequest
发送它并将其responseText
放入ArrayBuffer
时,有几个字符被Unicode“替换字符”替换。
如果我在FileReader.readAsText()
测试中使用<input type='file' />
,我会得到与XMLHttpRequest.responseText
相同的字符丢失。
我对文件服务器有控制权,并且尝试在响应中添加Content-Type
标头(application/octet-stream
?),但这似乎没有什么作用。
在这里我想确保XMLHttpRequest.responseText
拥有正确的数据,以便使用与ArrayBuffer
相同的值来创建FileReader
是什么?
答案 0 :(得分:0)
当然,经过数小时的研究,就在我坚持不懈地找到解决方案之后。
XMLHttpRequest具有npm start -- --reset-cache
属性-我不应该使用./android/gradlew clean && react-native run-android
。另外,我可以在发送请求之前设置responseType属性,以确保它在ArrayBuffer中返回。