Javascript 用PHP检索上传的Blob
我有一个创建blob并将其发布到PHP文件的脚本。这是我的密码: HTML/Javascript:Javascript 用PHP检索上传的Blob,javascript,php,ajax,html,xmlhttprequest,Javascript,Php,Ajax,Html,Xmlhttprequest,我有一个创建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
<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
var_dump($_POST);
?>
函数上传(){
var data=new FormData();
data.append('user','person');
var oReq=新的XMLHttpRequest();
open(“POST”,“upload.php”,true);
oReq.onload=功能(oEvent){
//上传。
};
var blob=new blob(['abc123'],{type:'text/plain'});
发送(blob);
}
点击我!
PHP:
<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
var_dump($_POST);
?>
当我查看开发人员控制台时,我的PHP页面上没有任何$u POST数据。我需要知道如何检索正在发布到PHP脚本的文本文件
非常感谢您的帮助 可以从
php://input
,如中所示
<?php
var_dump(file_get_contents('php://input'));
将Blob附加到FormData并发送。感谢您提供上述代码。我知道在开发者控制台中可以看到文件“string(6)”abc123“的内容。如何通过
$\u文件
数组访问blob?我用oReq.setRequestHeader(“内容类型”、“多部分/表单数据”)更新了javascript代码>此选项,但它仍然不允许我通过$\u文件
数组访问blob。有什么建议吗?您必须使用FormData对象并将blob附加到其中,然后将FormData对象传递到XMLHttpRequest.send
。我对PHP很在行,但对javascript不在行。您介意在您的答案中更新您的代码以包含您提到的FormData方法吗?非常感谢!我现在可以访问它了!最后一个问题。我如何知道将这个blob(指实际的.txt文件)保存在服务器上的“text”目录中?更清楚地说,如何将这个blob转换成实际的文本文件?请看一下通过post上传文件的php手册