我正在将base64解码为二进制
var image ="data:image/png;base64,iVBOR..."
var decoded = atob(image.split(",")[1])
然后想通过表格上传:
<form action="https://storage.googleapis.com/YOUR_BUCKET_NAME"
method="post" enctype="multipart/form-data">
<input name="key" type="text" value="objectName.txt" /><br/>
<input type="hidden" name="file" />
<input type="submit" value="Upload!" />
</form>
我将input
的值name="file"
设置为decoded
字符串,但会产生invalid image
。
我尝试将其转换为blob
,但当我将其设置为[Object blob]
我在这里缺少什么?
当我使用:http://decodebase64.com/并输入base64
字符串时,它会输出相同的数据,但copy/pasting
输入到文件中,显然不起作用。
我肯定错过了解码数据并将其变成工作文件之间的必要步骤......
(我正在首先浏览文件,与表单分开。然后我用一些库来裁剪它,它会发出一个有效的base64
字符串。现在我需要form
才能工作和我一起把这个解码后的数据放进去。但就像我提到的那样,手动复制/粘贴也行不通,所以有一个步骤缺失......)
答案 0 :(得分:0)
我尝试了同样的方法,结果发现您无法手动将文件设置为以表格形式上载。似乎是浏览器的安全性。 我的解决方法是包括第二个类型为'text'的隐藏输入字段,然后将Base64文本插入其中。 然后,服务器端检查是否设置了任何一个。 注意:现在,我继续搜索如何从输入的“文件”中获取Base64;)