服务端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. 2016 Multi-University Training Contest 5 Divide the Sequence

    Divide the Sequence 题意: 给你一个序列A,问你最多能够分成多少个连续子序列,使得每个子序列的所有前缀和均不小于0 题解: 这题是比赛时候的水题,但我比的时候也就做出这一题, = ...

  2. URI

    1, URI (标识.定位任何资源的字符串) 在电脑术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串. 该种标识允许用 ...

  3. spring外部化配置

    例如 <bean id="dataSource" class="....." p:username="aa" p:password=& ...

  4. MySQL优化技巧之四(数据库设计中的一些技巧)

    1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对 ...

  5. Translate this app.config xml to code? (WCF) z

    http://stackoverflow.com/questions/730693/translate-this-app-config-xml-to-code-wcf <system.servi ...

  6. Java基础-绘图技术

  7. 第10章 Posix 信号量

    10.1 概述 10.1.1 信号量类型 Posix有名信号量:使用Posix IPC名字,可用于进程或线程间同步: Posix基于内存的信号量:也叫做无名信号量,存放在共享内存中,可用于进程或线程间 ...

  8. [ActionScript 3.0] Away3D 灯光的使用

    package { import away3d.containers.View3D; import away3d.entities.Mesh; import away3d.events.MouseEv ...

  9. SQL 引用 webservice

    sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1; ...

  10. java GUI之基本图形

    1.为了支持图形用户界面程序设计,java1.0的标准类库中包含一个抽象窗口工具箱(Abstract Window Toolkit,AWT). 这个工具箱极不成熟,其编程模型也不是面向对象的,有很大的 ...