php服务端接受程序。。file_up.php。

<?php
/*    require_once('lib/session_config.php');require_once('lib/flydc.php');require_once('lib/common.php');require_once('config.php'); *///header("content-Type:text/html;charset=UTF-8");//    var_dump($_SERVER['HTTP_RANGE']);$fileUp  = new FileUp();$fileUp->uploadFile();exit;class FileUp{public $isHaveFid = false;public $target_path = "../files/";  //文件存取的路径public $uid,$fid,$ext,$alllength,$poss,$finish;function initData(){$this->fid = $_GET['fid'];$this->ext = $_GET['ext'];$this->poss = $_GET['pos'];}function uploadFile(){$this->initData();$absoluteName  = "";//$this->getdir()."/".basename($_FILES['uploadedfile']['name']);$handleRead = null;$fid = "";$handleWrite = null;if(!empty($_FILES['uploadedfile']['tmp_name'])){$handleRead = fopen($_FILES['uploadedfile']['tmp_name'],'rb');//$extend = pathinfo( $_FILES[$name]['name'] );   //$extend['extension']  扩展if(!empty($this->fid))  //fid存在是接着上次上传$fid = $this->fid;else //fid不存在,做为第一次上传,生成一个fid$fid = time().'_'.mt_rand(1,22222).".".$this->ext;$absoluteName  = $this->getdir()."/".$fid;$handleWrite = fopen($absoluteName,'a');$buffer = '';while (!feof($handleRead)) {$buffer = fread($handleRead, 1024*128);if(strlen($buffer)<=0)break;fwrite($handleWrite,$buffer);}fclose($handleWrite);fclose($handleRead);echo $fid;  //返回fid  给服务器$this->saveLog("$fid 上传成功");}else{echo "fail";$this->saveLog(" 上传失败");}}function saveLog($content){$logpath = $this->getdir()."/".date("Y-m-d",time())."_log.txt";$result = fopen($logpath,'a');fwrite($result,date("Y-m-d H:i:s",time())." ========== ".$content."\r\n");fclose($result);}function getdir(){$day_dir = $this->target_path.date("Ymd",time());if(!is_dir($day_dir)){mkdir($day_dir,0777,true);}return $day_dir;}}?>

androiud 客户端java 代码

public void doUpload(){//要上传的文件 String pathString = FileManager.getParentDirectory()+"media/video_3_20141222145045024.mp4"; //video_3_20141222145045024.mp4  video_3_20141224153340976.mp4//上传的地址String acceptUrl = "http://10.0.10.3/flyguard/mobileapi/file_up.php?fid="+this.fidString+"&pos=&ext=mp4";RandomAccessFile raf =  null;try{raf = new RandomAccessFile(pathString, "r");long alllength=raf.length();raf.seek(0);byte[] buffer = new byte[128*1024];//128kint count = 0;while ((count = raf.read(buffer)) != -1){
//                count = raf.read(buffer);String result = uploadFil(acceptUrl,buffer);System.out.println("MediaActivity doUpload return:"+result+ " count:"+count);break;}} catch (Exception e){e.printStackTrace();}finally{try{if(raf!=null)raf.close();} catch (IOException e){// TODO Auto-generated catch block
                    e.printStackTrace();}}}public String uploadFil(String acceptUrl,byte[] data){String end = "\r\n";String twoHyphens = "--";String boundary = "******";try{URL url = new URL(acceptUrl);HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();// 设置每次传输的流大小,可以有效防止手机因为内存不足崩溃  // 此方法用于在预先不知道内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。 httpURLConnection.setChunkedStreamingMode(data.length);// 128*1024 是128k
//            允许输入输出流httpURLConnection.setDoInput(true);httpURLConnection.setDoOutput(true);httpURLConnection.setUseCaches(false);// 使用POST方法 httpURLConnection.setRequestMethod("POST");httpURLConnection.setRequestProperty("Connection", "Keep-Alive");httpURLConnection.setRequestProperty("Charset", "UTF-8");httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);//application/octet-stream   multipart/form-dataDataOutputStream dos  = new DataOutputStream(httpURLConnection.getOutputStream()); dos.writeBytes(twoHyphens + boundary + end);dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\"; filename=\""// +pathString.substring(pathString.lastIndexOf("/")+1)+"myfilename"+"\""+end);dos.writeBytes(end);dos.write(data,0,data.length);dos.writeBytes(end);dos.writeBytes(twoHyphens + boundary + twoHyphens + end);dos.flush();String reponse = "";if(httpURLConnection.getResponseCode() == 200 ){InputStream is = httpURLConnection.getInputStream();InputStreamReader isr = new InputStreamReader(is,"utf-8");BufferedReader br = new BufferedReader(isr);while (null !=br.readLine()){reponse +=br.readLine(); }is.close();}System.out.println("MediaActivity uploadFil Reponse:"+reponse);dos.close();return reponse;} catch (Exception e){// TODO Auto-generated catch block
            e.printStackTrace();System.out.println("MediaActivity uploadFil Exception:"+e.getMessage());}return "";}

转载于:https://www.cnblogs.com/longhs/p/4184506.html

android 上传文件用php程序在服务端接受(一)相关推荐

  1. android -上传文件到服务器

    android上传文件到服务器       重点:最好是设置好content-type这些参数的配置!     package com.spring.sky.image.upload.network; ...

  2. Android上传文件到Web服务器,PHP接收文件(一)

    Android上传文件到服务器,通常采用构造http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件.使用JavaServlet来接收文件的 ...

  3. android上传文件用哪个布局,每周总结20130821——android控件的尺寸、http文件上传...

    Android控件的尺寸 android开发中,可以通过编写XML格式的布局文件来实现布局,也可以用纯代码进行布局,通常都是选择XML文件布局.在XML布局文件中,与控件的尺寸有关的属性有androi ...

  4. android 上传文件到服务器

    1.编写layout.xml <LinearLayout android:layout_width="match_parent"android:layout_height=& ...

  5. 上传文件 微信小程序input_快速上手微信小程序UI框架

    本课程属于 微信小程序 A计划,不单独售卖,加入 A 计划可免费观看本课程及所有 微信小程序 收费课程~ 微信小程序 A计划永久有效期购买链接: http://www.sikiedu.com/clas ...

  6. android显示服务器端文件夹,Android上传文件到服务端并显示进度条

    最近在做上传文件的服务,简单看了网上的教程.结合实践共享出代码. 由于网上的大多数没有服务端的代码,这可不行呀,没服务端怎么调试呢. Ok,先上代码. Android 上传比较简单,主要用到的是 Ht ...

  7. android上传文件php,PHP编写安卓文件上传接口

    为了快速满足安卓客户端或跨域文件上传接口,现在用PHP写个可以文件上传类.可通过安卓客户端或者其他域名的网站上传窗口,可以把文件上传指定的服务器中,下面是详细代码.//主方法获取上传文件 public ...

  8. Android上传文件至服务器(转)

    本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为and ...

  9. android上传文件至服务器(android端+服务器端)

    引言:本来android文件上传的博客在网上挺多的,不过好些都只是有前台android端的上传,并没有后台服务器端的接收.而且自己写的时候也确实遇见了一些之前没注意到的地方,写出来也算是给自己提个醒. ...

最新文章

  1. 深度学习笔记一:稀疏自编码器
  2. SAP选择屏幕中实现三级联动下拉框效果
  3. 数据结构(3) -- 栈和队列
  4. 《大数据》第2期“应用”——医疗健康大数据:应用实例与系统分析
  5. maven jetty的eclipse 插件
  6. ps 缩放 颜色分类 像素和分辨率学习笔记
  7. 测试基本功WEB测试之输入框测试点总结
  8. 百度地图绘制3D棱柱
  9. java timer异常_JAVA Timer的缺陷以及解决办法
  10. 牛牛的DRB迷宫II
  11. matlab 的谱相减语音增强算法的研究,基于MATLAB的谱相减语音增强算法的研究
  12. 红黑树(算法导论版)
  13. 微信小程序调用支付接口支付(tp5、小程序)
  14. 最新Uniapp开发的多端影视APP+对接苹果CMS
  15. 杀戮尖塔java打不开,关于杀戮尖塔闪退和BUG的可能性及官方解决办法
  16. Scrapy反爬与反反爬
  17. termux命令行美化oh my zsh
  18. Win10如何用记事本建立Json格式文件
  19. 多益网络 技术面 hr面
  20. 游戏音乐外包中的那些事儿

热门文章

  1. VTK:Utilities之GetClassName
  2. VTK:PolyData之SelectVisiblePoints
  3. VTK:Points之PointOccupancy
  4. VTK:图表之EdgeWeights
  5. OpenCV曼德布罗特平行线Mandelbrot Parallel的实例(附完整代码)
  6. OpenGL混合功能实例
  7. C++实现基数排序(附完整源码)
  8. C++static关键字
  9. C语言编写扫雷小游戏
  10. redis的基本使用笔记一