服务端php程序file_up.php

function uploadFileBinary()
{
$this->initData();
$absoluteName = ""; $fid = ""; $handleWrite = null;
if(!empty($GLOBALS['HTTP_RAW_POST_DATA']) && strlen($GLOBALS['HTTP_RAW_POST_DATA'])>0)
{
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'); fwrite($handleWrite,$GLOBALS['HTTP_RAW_POST_DATA']); fclose($handleWrite); echo $fid; //返回fid 给服务器
$this->saveLog("$fid 上传成功");
}else
{
echo "fail";
$this->saveLog(" 上传失败");
}
}

客户端java 代码

private String fidString = "test01.mp4";
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];//128k
int 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; String result = PostFileData(acceptUrl,buffer);
System.out.println("MediaActivity doUpload return:"+result+ " count:"+count); } } catch (Exception e)
{
e.printStackTrace();
}finally{ try
{
if(raf!=null)
raf.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
} } /*
* 提交 的url Url
* 上传 数据 data
* */
public String PostFileData(String Url,byte[] data)
{
try
{
HttpURLConnection conn = (HttpURLConnection) new URL(Url).openConnection();
conn.setConnectTimeout(20 * 1000);
conn.setRequestMethod("POST");
conn.setDoOutput(true);// 允许对外输出数据
conn.setRequestProperty("Content-Type", "application/octet-stream");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
OutputStream outStream = conn.getOutputStream();
outStream.write(data); String Response="";
if (conn.getResponseCode() == 200)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null)
{
Response += line;
}
} return Response;
}
catch (Exception e)
{
Log.e("PostFileData", e.getMessage());
FileManager.saveError("PostFileData", e);
}
finally
{
return "";
}
}

android 上传文件"Content-Type",为"application/octet-stream" 用php程序在服务端用$GLOBALS['HTTP_RAW_POST_DATA']接受(二)的更多相关文章

  1. android上传文件到服务器

    package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; i ...

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

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

  3. android 上传文件

    android对于上传文件,还是非常easy的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!另一个特别重要的就是须要一些content-type这些參数的配置!  假设这些都弄好 ...

  4. php 上传文件 $_FILES['']['type']的值

    php 上传文件 $_FILES['']['type']的值 一个函数 function upload_file($fname,$ftype,$fsize,$ferror,$ftmp_name,$fp ...

  5. 【经验记录】Android上传文件到服务器

    Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简 ...

  6. Android上传文件到服务器(转)

    Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简 ...

  7. react native android 上传文件,Nodejs服务端获取上传的文件

    React Native端 使用react-native-image-picker 做出选择图片的操作,选择完成后,直接将图片Post至服务器,保存在服务器的某个地方(保存图片的路径需要公开显示),并 ...

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

    每一次都不能上首页,真悲催..管理员让我上一次首页? 很多时候我更愿意一个人写代码,与其在垃圾代码上改改改,我更愿意直接重构. 整洁的代码简单直接.整洁的代码如同优美的散文.整洁的代码从不隐藏设计者的 ...

  9. android上传文件到wamp服务器

    1.php server(wamp)部分 建立unload.php页面代码如下 <?php move_uploaded_file($_FILES["file1"][" ...

随机推荐

  1. spring+springMVC+mybatis的框架项目基础环境搭建

    上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这 ...

  2. 配置文件——WebApp.config文件读取和修改

    using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using ...

  3. AP_应付税务预扣税Withholding Tax的设定和使用(案例)

    2014-07-13 Created By BaoXinjian

  4. 帝国CMS商城功能高级使用

    一.常见问题1.为什么自定义模型加入购物车提示“非商城表的信息”?答:模型要使用商城的功能,要先到:后台>商城>商城参数设置:“指定使用商肠能的数据表”勾选你这个自定义模型表,才可以使用. ...

  5. android之location02

    package com.example.mars_3300_location02; import java.net.ContentHandler; import java.util.List; imp ...

  6. 更新nvm

    在官方看到这个文档 ( cd "$NVM_DIR" git fetch origin git checkout `git describe --abbrev=0 --tags -- ...

  7. 非常详细GC学习笔记

    转载:http://blog.csdn.net/fenglibing/article/details/6321453 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转 ...

  8. gc 日志格式

    对于 Parallel Scavenge + Parallel Old - 新生代:PSYoungGen - 老年代:ParOldGen - 永久代:PSPermGen 后面方括号内部的 " ...

  9. free 查看系统内存

    第二部分(-/+ buffers/cache):(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used – buffers – cached)(+buffers ...

  10. C#中修改Dll文件 (反编译后重新编译)

    Dll文件生成后,如没有源代码,又要修改其中内容 可以用微软自带的ildasm和ilasm程序 先用ildasm将dll文件反编译成il文件 ildasm Test.dll /out=Test.il  ...