我有一个创建blob并将其发布到PHP文件的脚本。这是我的代码:
HTML /使用Javascript:
<script type="text/javascript">
function upload() {
var data = new FormData();
data.append('user', 'person');
var oReq = new XMLHttpRequest();
oReq.open("POST", 'upload.php', true);
oReq.onload = function (oEvent) {
// Uploaded.
};
var blob = new Blob(['abc123'], {type: 'text/plain'});
oReq.send(blob);
}
</script>
<button type="button" onclick="upload()">Click Me!</button>
PHP:
<?php
var_dump($_POST);
?>
当我查看我的开发人员控制台时,我的PHP页面上没有获得任何$ _POST数据。我需要知道如何检索发布到PHP脚本的文本文件。
非常感谢任何帮助!
答案 0 :(得分:8)
可以从php://input
读取blob中的数据,如
<?php
var_dump(file_get_contents('php://input'));
但是,如果您想要使用表单数据对象发送多个数据,那么它就像一个普通的multipart / form-data帖子。所有字符串都可以通过$_POST
和所有blob获得,并通过$_FILES
提交。
function upload() {
var data = new FormData();
var oReq = new XMLHttpRequest();
oReq.open("POST", 'upload.php', true);
oReq.onload = function (oEvent) {
// Uploaded.
};
var blob = new Blob(['abc123'], {type: 'text/plain'});
data.append('file', blob);
oReq.send(data);
}
答案 1 :(得分:0)
将Blob附加到FormData并发送它。