android 拍照上传_android拍照、录制视频并上传至服务器 (有图有源码)

该博客详细介绍了如何在Android应用中实现拍照、录制视频功能,并将这些文件上传到服务器。实例包括服务器配置、文件大小获取、Socket连接、数据传输以及进度更新等关键步骤,附带源码。
摘要由CSDN通过智能技术生成

实例简介:

拍照、录制视频、上传、服务器配置、预览视频等功能都实现了
【实例截图】

e03cbc6b-2d30-eb11-8da9-e4434bdf6706.png


【核心代码】

class UploadTask implements Runnable

{

@Override

public void run()

{

try

{

videoLenth = videoFile.length();// 得到文件的大小

progressDialog.setMax((int) videoLenth);// 设置精度条的最大值

System.out.println("连接之前");

String ip = StreamTool.readIP();// 从配置文件里读取Ip

Socket socket = new Socket(ip, 6789);

OutputStream outStream = socket.getOutputStream();

System.out.println("连接之后");

System.out.println(videoFile);

String head = "Content-Length=" videoFile.length()

";filename=" videoFile.getName() ";sourceid=";

System.out.println(videoFile.getName());

outStream.write(head.getBytes());

PushbackInputStream inStream = new PushbackInputStream(

socket.getInputStream());

String response = StreamTool.readLine(inStream);

System.out.println(response);

String[] items = response.split(";");

String position = items[1].substring(items[1].indexOf("=") 1);

RandomAccessFile fileOutStream = new RandomAccessFile(

videoFile, "r");

fileOutStream.seek(Integer.valueOf(position));

byte[] buffer = new byte[1024];

int len = -1;

int i = 1;

while ((len = fileOutStream.read(buffer)) != -1)

{

outStream.write(buffer, 0, len);

// if(i==10) break;

Log.i("haha", len "");

i = i len;

progressDialog.setProgress(i);

}

fileOutStream.close();

outStream.close();

inStream.close();

socket.close();

} catch (Exception e)

{

System.out.println("报错" e.getMessage());

e.printStackTrace();

} finally

{

progressDialog.dismiss();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值