php 文件上传,这段报文哪里错了呢
看了很多例子 没解决问题,大家帮我看看呢
返回的结果如下:
HTTP/1.1 400 Bad Request
Date: Fri, 18 Jul 2014 18:15:46 GMT
Server: nginx/1.4.4
Content-Type: application/json
Content-Length: 36
Access-Control-Allow-Headers: X-File-Name, X-File-Type, X-File-Size
Access-Control-Allow-Methods: OPTIONS, HEAD, POST
Access-Control-Allow-Origin: *
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Content-Type-Options: nosniff
X-Log: UP/400
X-Reqid: QkEAAC2bX1liE4IT
X-Via: 1.1 js41:3 (Cdn Cache Server V2.0)
Connection: close
代码:
//test100.jpg就在当前目录下
function sock_post($url){
$boundary = "---------".substr(md5(rand(0,32000)),0,10);
$content_file=file_get_contents('test100.jpg');
$token="XXXXXXX";
$key="chrisliu";
$file_name="test100.jpg";
$info=parse_url($url);
$fp=fsockopen($info["host"],80,$errno,$errstr,3);
$head="POST / HTTP/1.1\r\n";
$head.="Host: ".$info['host']."\r\n";
$head.="Content-type: multipart/form-data; boundary=".$boundary."\r\n";
$data="--".$boundary."\r\n";
$data.='Content-Disposition: form-data; name=\"token\"\r\n';
$data.=$token."\r\n";
$data.="--".$boundary."\r\n";
$data.='Content-Disposition: form-data; name="key"\r\n';
$data.=$key."\r\n";
$data.="--".$boundary."\r\n";
$data.='Content-Disposition: form-data; name="x:username"\r\n';
$data.="\r\n";
$data.="--".$boundary."\r\n";
$data.='Content-Disposition: form-data; name=\"file\"; filename=\"'.$file_name.'\"\r\n';
$data.="Content-Type: application/octet-stream\r\n";
$data.="Content-Transfer-Encoding: binary\r\n";
$data.=$content_file."\r\n";
$data.="--".$boundary."--\r\n";
$head.="Content-Length:".strlen($data)."\r\n\r\n";
$write=fputs($fp,$head.$data);//发出请求
while(!feof($fp)){
$line=fgets($fp);
echo $line."
";
}
fclose($fp);
}
$purl="http://upload.qiniu.com";
echo "以下是POST方式的响应内容:
";
sock_post($purl);
?>
在这里生成的token
http://jsfiddle.net/gh/get/extjs/4.2/icattlecoder/jsfiddle/tree/master/uptoken
在这里测试上传成功
http://jsfiddle.net/gh/get/library/pure/icattlecoder/jsfiddle/tree/master/formupload
相关阅读:
webstorm中写vue.js,里面的stylus部分一大堆报错,如何解决
GCDAsyncUdpSocket运行一段时间后就接收不到数据
mysql数据库插入,检测重复。
向aosp_shamu, 6.0.1里push一个SystemUI出现的异常
(使用Math.max函数找出数字数组中最大的元素)有个问题,就是undefined
关于java中keytool工具的问题
mysql 是否可以将多次查询的结果混合输出?
微信第三方网页 post请求变成get请求。
产生10~100之间的10个随机数有个问题
文字识别和图像识别。
pyspider如果抓取增量信息?
chevereto图床如何使用FTP
DOM关于onmouseover的一个问题,没有反应??
iOS端想要通过openGL实现展示.STL类的3D模型,该怎么去做
Android Studio : 怎么查看类中的所有参数和方法
请问如何使urlretrieve运行一段时间后退出
vue-router过渡只在刚进入页面的时候执行一次,后面的路由切换就不再进行了
angular的ui-router不显示问题?求帮忙
如何点击a标签, 弹出input file 上传文件对话框 ???
不使用任何 IDE,如何创建 java 工程并运行?