我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android异步上传图片到PHP服务器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android异步上传图片到PHP服务器

原理

Android客户端模拟一个HTTP的Post请求到服务器端,服务器端接收相应的Post请求后,返回响应信息给给客户端。

背景

网上很多上传到java服务器上的,找了好久,找到了上传到php的了,思路跟我当初想的差不多,就是POST过去。废话不多说,直接上图看代码。

php代码


<?php
$target_path = "./upload/";//接收文件目录
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
} else{
echo "There was an error uploading the file, please try again!" . $_FILES['uploadedfile']['error'];
}
?>

Android代码

上传的主要代码:


private void uploadFile(String uploadUrl)
{
String end = "\r\n";
String twoHyphens = "--";
String boundary = "******";
try
{
URL url = new URL(uploadUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();//http连接
// 设置每次传输的流大小,可以有效防止手机因为内存不足崩溃
// 此方法用于在预先不知道内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。
httpURLConnection.setChunkedStreamingMode(128 * 1024);// 128K
// 允许输入输出流
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setUseCaches(false);
// 使用POST方法
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Connection", "Keep-Alive");//保持一直连接
httpURLConnection.setRequestProperty("Charset", "UTF-8");//编码
httpURLConnection.setRequestProperty("Content-Type",
"multipart/form-data;boundary=" + boundary);//POST传递过去的编码
DataOutputStream dos = new DataOutputStream(
httpURLConnection.getOutputStream());//输出流
dos.writeBytes(twoHyphens + boundary + end);
dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\"; filename=\""
+ class="lazy" data-srcPath.substring(class="lazy" data-srcPath.lastIndexOf("/") + 1)
+ "\""
+ end);
dos.writeBytes(end);
FileInputStream fis = new FileInputStream(class="lazy" data-srcPath);//文件输入流,写入到内存中
byte[] buffer = new byte[8192]; // 8k
int count = 0;
// 读取文件
while ((count = fis.read(buffer)) != -1)
{
dos.write(buffer, 0, count);
}
fis.close();
dos.writeBytes(end);
dos.writeBytes(twoHyphens + boundary + twoHyphens + end);
dos.flush();
InputStream is = httpURLConnection.getInputStream();//http输入,即得到返回的结果
InputStreamReader isr = new InputStreamReader(is, "utf-8");
BufferedReader br = new BufferedReader(isr);
String result = br.readLine();
Toast.makeText(this, result, Toast.LENGTH_LONG).show();//将结果输出
dos.close();
is.close();
} catch (Exception e)
{
e.printStackTrace();
setTitle(e.getMessage());
}
}

因为安卓4.0之后耗时间的操作要求都在非UI线程中操作,即将前面的AsyncTask拿来用了吧~

AsyncTask传送门://www.jb51.net/article/77155.htm

在这个类中,将上传的操作放在doInBackground当中,可以有ProgressDialog显示上传了多少:


// Read file
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
outputStream.write(buffer, 0, bufferSize);
length += bufferSize;
progress = (int) ((length * 100) / totalSize);
publishProgress(progress);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(twoHyphens + boundary + twoHyphens
+ lineEnd);
publishProgress(100);

还有就是,注意权限哟:


<uses-permission android:name="android.permission.INTERNET" />

以上内容给大家介绍了Android异步上传图片到PHP服务器,希望本文分享能够给大家带来帮助。

您可能感兴趣的文章:Android 通过Base64上传图片到服务器实现实例Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法Android使用post方式上传图片到服务器的方法Android实现上传图片至java服务器


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android异步上传图片到PHP服务器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android异步上传图片到PHP服务器

原理Android客户端模拟一个HTTP的Post请求到服务器端,服务器端接收相应的Post请求后,返回响应信息给给客户端。 背景 网上很多上传到java服务器上的,找了好久,找到了上传到php的了,思路跟我当初想的差不多,就是POST过去
2022-06-06

Android选择图片或拍照图片上传到服务器

最近要搞一个项目,需要上传相册和拍照的图片,不负所望,终于完成了! 不过需要说明一下,其实网上很多教程拍照的图片,都是缩略图不是很清晰,所以需要在调用照相机的时候,事先生成一个地址,用于标识拍照的图片URI 具体上传代码:1.选择图片和上
2022-06-06

Android将图片上传到php服务器的实例代码

layout中很普通,就是两个button和一个ImageView2023-05-30

java怎么上传图片到服务器

图片上传步骤:客户端:创建HTML表单,包含“选择文件”按钮。服务器端:创建处理上传请求的Servlet/Controller。配置服务器允许文件上传,指定限制。上传过程:用户选择文件并提交表单。服务器接收上传请求,验证文件。服务器保存文件到指定目录,存储文件信息。服务器响应上传是否成功。Java实现:HTML表单包含文件输入框。Servlet接收上传文件,验证并保存文件。可配置文件大小限制和文件类型验证。
java怎么上传图片到服务器
2024-04-14

Android 通过Base64上传图片到服务器实现实例

Android 通过Base64上传图片到服务器之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。前台图片处理:(传Bitmap对象即可)/**
2023-05-31

js实现上传图片到服务器的

这篇文章主要介绍了js实现上传图片到服务器的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下HTML//多张图片上传multiple2023-06-14

vue怎么将图片上传到服务器

这篇文章主要介绍“vue怎么将图片上传到服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么将图片上传到服务器”文章能帮助大家解决问题。一、准备工作下载 vue-quill-editorn
2023-06-27

Android使用post方式上传图片到服务器的方法

本文实例讲述了Android使用post方式上传图片到服务器的方法。分享给大家供大家参考,具体如下: public class UploadUtil {private stati
2022-06-06

Android上传多张图片的实例代码(RxJava异步分发)

学习RxJava有一段时间了,一直在考虑怎么使用,如何在项目中合理运用它。在android很多项目中,都会存在图片上传,下面我介绍如何用Rxjava异步上传多张图片。一,用到的框架 compile 'top.zibin:Luban:1.0
2023-05-30

Android 通过webservice上传多张图片到指定服务器详解

Android 通过webservice上传多张图片到指定服务器详解 当你浏览这个的时候相信你对webservice的基本应用已经有一定的了解了,若是还没有明白的小伙伴,可以看我前面写的文章点击打开链接,这几天在开发一款app,需要上传图片
2022-06-06

ajax如何上传多图到php服务器

本篇内容介绍了“ajax如何上传多图到php服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一般上传图片到服务器有两种方式:1、把图片转
2023-06-08

详解阿里云服务器上传图片的步骤

这篇文章将详细解释如何在阿里云服务器上传图片,包括准备图片、创建阿里云服务器、在阿里云服务器上安装必要的软件、上传图片到服务器以及查看图片等步骤。正文:一、准备图片在上传图片之前,我们需要准备一张图片。图片的格式应该是JPG、PNG或GIF,这些格式的图片通常可以在大多数计算机和手机上正常显示。同时,图片的大小应
详解阿里云服务器上传图片的步骤
2023-11-06

图片上传到云服务器的方法是什么

图片上传到云服务器的方法有多种,以下是常见的几种方法:1. FTP(文件传输协议):使用FTP客户端软件(如FileZilla)连接到云服务器,将图片文件从本地计算机上传到云服务器。2. SCP(Secure Copy):使用SCP命令行工
2023-09-16

图片上传到云服务器的方法是什么

图片上传到云服务器的方法本文介绍了通过不同云服务提供商(AWSS3、GCS、AzureBlobStorage)将图片上传到云服务器的步骤,涵盖了协议选择(HTTP和HTTPS)和上传代码示例。还提供了最佳实践建议,包括图像优化、CDN使用和安全考虑。
图片上传到云服务器的方法是什么
2024-04-11

Vue中实现图片上传,上传后的图片回显,存储图片到服务器 【使用对象存储OSS】

文章目录 1 前提知识1.1 服务端签名后直传1.1.1 流程和源码解析1.1.2 实现步骤 1.2 Aliyun Spring Boot OSS 示例(接入微服务)1.2.1 简略说明1.2.2步骤 2、项目中实际
2023-08-24

java实现图片上传至服务器

实现的思路:工具:MySQL,eclipse首先,在MySQL中创建了两个表,一个t_user表,用来存放用户名,密码等个人信息,一个t_touxiang表,用来存放上传的图片在服务器中的存放路径,以及图片名字和用户ID,T_touxiang表中的用户ID对应
java实现图片上传至服务器
2021-04-29

上传图片至亚马逊服务器

1.选择合适的图片格式和大小在将图片上传至亚马逊服务器之前,首先需要选择合适的图片格式和大小。常见的图片格式包括JPEG、PNG和GIF。JPEG是最常用的格式,适合存储照片和复杂的图像。PNG格式适合存储透明背景的图像,而GIF格式适合存储简单的动画图像。此外,还需要注意图片的大小。亚马逊建议将图片大小控制在1000像素以上,以确保图片在不同设备上显示清晰。2.登录亚马逊卖家中心在上传图片之前,您需要登...
2023-10-27

JavaKindEditor粘贴图片自动上传到服务器功能实现

这篇文章主要介绍了JavaKindEditor粘贴图片自动上传到服务器功能实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-15

编程热搜

目录