Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 494966

请问Creator怎样上传文件到php服务器

$
0
0

突然想到一个可能可以实现的方法:
1.Android或者ios的话,可以通过jsb读取本地二进制文件数据到一个buffer,然后通过javascript发送给php服务器。当然也可以通过socket发送给服务器。
2.web的话,估计可以通过网页上传文件的方式吧,毕竟js没法直接读取本地文件。

2016年9月3日22:22:45:
做了个测试,表示Android、ios和win应该可行。
上传的js脚本

                     var size = 0;
		 var data = jsb.fileUtils.getDataFromFile(filepath);

		cc.log("file size:" + size);
		//var xhr = new XMLHttpRequest();
		xhr.open('POST', 'http://localhost/upload/upload_file.php');
		xhr.setRequestHeader('Content-Type', 'application/octet-stream');
		xhr.send(data);
		
		xhr.onreadystatechange = function () {  
				if (xhr.readyState == 4) {  
					if (xhr.status == 200) {  
						var m = xhr.responseText;  
						var response = xhr.responseText.substring(0, 100) + "...";  
						cc.log (m);  
					}
				}  
			}

服务器端php文件:

<?php
if(!empty($GLOBALS['HTTP_RAW_POST_DATA']) && strlen($GLOBALS['HTTP_RAW_POST_DATA'])>0)
{
$handleWrite = fopen("uploaded/testbin.jpg",'w+');
fwrite($handleWrite,$GLOBALS['HTTP_RAW_POST_DATA']);
fclose($handleWrite);
echo "Stored in: " . "./uploaded/testbin.dat";
}
else{
echo "上传失败";
}
?>


Viewing all articles
Browse latest Browse all 494966

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>