クライアントのサードパーティのWebサイトから自分のWebサイトにファイル(.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ファイルをダウンロードしたところ、無効なzipファイルが多くのスペースを処理して無駄なコードセグメントを埋めているようです。そのため、base64ではバイナリデータを完全にエンコード/デコードできないと感じました。誰か知識がありますか?
わかりやすくするために、ソースのスクリーンショットを添付しました。
有効なファイル:
無効なもの: