(个人)AR电子书系统创新实训第三周(2)
2017-05-27 22:54
239 查看
服务器上传测试
在解决了文件导入和压缩的问题后,我准备验证一下www上传文件的功能。到上传文件,我们首先需要搭建一个服务器,由于本人完全没有搭建服务器的经验,对此毫无头绪,也不敢去购买网上的云服务器,害怕挑错类型而前功尽弃。于是,我在百度上找到了wampserver这个工具,可以用它来搭建一个本地服务器。具体的安装过程我就不在这里提了,有兴趣的话可以在百度上找。搭建好服务器后,在浏览器里输入localhost便会出现wampserver自带的index.html说明页,说明服务器运行正常。
有了服务器并没有完,我们还需要在服务器上部署相应的代码,负责接收用户发送的文件,保存起来,并返回保存地址。由于我并不熟悉php语言,因此从网上找了一段保存post请求数据的代码,略作修改。代码如下:
<?php $myFile = $_FILES["post"]["tmp_name"]; $content = ''; $fh = fopen($myFile, 'r') or die("can't open file"); while (!feof($fh)) { $content .= fgets($fh);//filesize($myFile)) or die('can\'t read'); } fclose($fh); //文件存储路径 $file_path="upload/"; if(is_dir($file_path)!=TRUE) mkdir($file_path,0664) ; $myFile = $file_path.$_REQUEST['Name'].".zip"; $fh = fopen($myFile, 'w') or die("can't open file"); //$stringData = $_FILES["fileUpload"]; $stringData = $content;//"START:\n" . join(',\n',headerCustom()) . ' \END'; fwrite($fh, $stringData); fclose($fh); echo $myFile; //echo $file_path + ?>
当然,代码的内容我还是看懂了的,具体的工作就是在接收到数据后使用文件流将数据保存在根目录的upload文件夹下,保存格式为.zip。然后将文件目录通过echo的方式返给请求方。
在请求方,也就是Unity中,我同样使用了WWW来发送请求,由于发送的是Post请求,形式有些不同:
byte[] bytes = readingZipWWW.bytes; WWWForm form = new WWWForm(); form.AddField("Name", name); form.AddBinaryData("post", bytes); uploadWWW = new WWW(url, form); 8db0 Uploading = true; StartCoroutine(PostData(uploadWWW));
在代码中,首先需要将数据以字节的形式传递给一个WWWForm对象,同时还可以传入一些其它的参数比如名字之类的,然后将此对象和服务器的url地址一起使用WWW发送,便可以实现Post上传数据。在发送完成后,可以通过www.text的方式获得服务器响应的数据。
相关文章推荐
- (个人)AR电子书系统创新实训第三周(1)
- (个人)AR电子书系统创新实训第三周(2)
- (个人)AR电子书系统创新实训第三周(1)
- (个人)AR电子书系统创新实训第三周(1)
- (个人)AR电子书系统创新实训第三周(2)
- (个人)AR电子书系统创新实训第三周(2)
- (项目)AR电子书系统创新实训第三周(1)
- (个人)AR电子书系统创新实训第一周(2)
- (个人)AR电子书创新系统实训第四周(2)
- (个人)AR电子书系统创新实训第一周(2)
- (个人)AR电子书系统创新实训第一周(1)
- (个人)AR电子书系统创新实训第四周(1)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第四周(2)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第一周(2)
- (个人)AR电子书创新系统实训第四周(1)
- (个人)AR电子书系统创新实训第四周(2)