• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android上传文件"Content-Type",为"application/octet-stream"用 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

服务端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?f>;
        
        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 "";
        }
    }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【PHP】数组按照字母排序发布时间:2022-07-10
下一篇:
【替代语法】PHP中冒号、endif、endwhile、endfor这些都是什么发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap