android java服务器文件传输_java-将图像和视频文件从android发送到服务器...

首先,在回答问题的特定部分之前,这里有一些一般性建议:

尝试在设备上做一些琐碎的事情.仅在图像上放置遮罩或对其旋转/调整大小非常简单,可以在设备上执行.这样,用户无需上传任何内容(并等待),并且服务器的负载也不会那么重.

视频和图片可能会变得很大.考虑到这一点.我想到的一个想法是,用户应该仅上传一次图像/视频,但是应该能够执行多种操作,然后再下载最终结果.否则,您将面临漫长的等待时间和高流量.

告诉您的用户!如果您真的开始将(也许是个人的)图片/视频上传到自己的服务器,请确保您使用的是可获得的最大安全性(SSL应该是必须的),并告诉用户您要将其内容上传到您的服务器.另外,您应该给他们选择拒绝的选择,否则,您可能会面临诉讼.

现在,到技术部分:

从服务器上载文件/从服务器上载文件的工作流程几乎总是相同的:

>使用Socket打开与服务器的连接

>在文件上获取流(对于您的情况,为FileInputStream)

>读取字节数组中的二进制数据块

>将读取的块从套接字写入输出流

>完成后,关闭流,然后关闭套接字

在您的服务器上,您可以进行其他操作并从InputStream中读取内容,并将内容写入FileOutputStream.

这是一个看起来如何的小例子:

Socket server = new Socket("192.168.178.32", 1337);

OutputStream outputStream = server.getOutputStream();

FileInputStream in = null;

try {

in = new FileInputStream("/some/path/to/gras.jpeg");

// Write to the stream:

byte[] buffer = new byte[1024]; // 1KB buffer size

int length = 0;

while ( (length = in.read(buffer, 0, buffer.length)) != -1 ){

outputStream.write(buffer, 0, length);

}

outputStream.flush();

} finally {

if (in != null) in.close();

socket.close(); // Will close the outputStream, too.

}

这段代码消除了这里可能抛出异常的事实.您需要以适当的方式处理这些问题.

您应该考虑的一点是,用户可能会通过移动互联网连接上传其内容,该内容可能会被拦截(例如,通过隧道时).在这种情况下,您将希望将up / download实现为可恢复.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值