我需要将文件 (.zip) 从客户的第三方网站传输到我的网站。
GM-Snippet(注释掉其他尝试)
GM_xmlhttpRequest({
method: "GET",
url: dlurl,
timeout:0,
onload: function(resp) {
var conti=resp.responseText;
alert("goup");
GM_xmlhttpRequest({
method: "POST",
url: "http://absolut-fair.com/wbb_back/api.php?id=3",
overrideMimeType: 'text/plain; charset=x-user-defined',
data:"chk=1&data="+base64_encode(conti),
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function(resp) {
var conti=resp.responseText;
if(conti=="1") alert("upload erfolgreich");
else alert(conti);
//....
PHP 片段
$name="test.txt";
uploadfile(base64_decode($_POST["data"]),detect_mime($name),$name);
问题
当我尝试打开它们时,所有解码的文件都已损坏。问题是发送二进制数据。发送原始文本效果很好!
//更新
我刚刚下载了健康和无效的 zip 文件,看起来无效的文件处理了大量的空间来填充无用的代码段。所以我觉得base64不能完全编码/解码二进制数据。任何人有任何知识?
我附上来源的屏幕截图以使其清楚!
有效文件:
无效的: