广告
返回顶部
首页 > 资讯 > 服务器 >Android上传文件到Web服务器 PHP接收文件
  • 727
分享到

Android上传文件到Web服务器 PHP接收文件

WebWeb服务web服务器PHPAndroid 2022-06-06 01:06:39 727人浏览 泡泡鱼
摘要

Android上传文件到服务器,通常采用构造Http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件。使用JavaS

Android上传文件到服务器,通常采用构造Http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件。使用JavaServlet来接收文件的方法比较常见,在这里给大家介绍一个简单的服务器端使用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']; 
} 
?> 

手机客户端代码:


package com.fiGo.uploadfile; 
import java.io.BufferedReader; 
import java.io.DataOutputStream; 
import java.io.FileInputStream; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.Toast; 
public class UploadfileActivity extends Activity 
{ 
 // 要上传的文件路径,理论上可以传输任何文件,实际使用时根据需要处理 
 private String uploadFile = "/sdcard/testimg.jpg"; 
 private String srcPath = "/sdcard/testimg.jpg"; 
 // 服务器上接收文件的处理页面,这里根据需要换成自己的 
 private String actionUrl = "http://10.100.1.208/receive_file.php"; 
 private TextView mText1; 
 private TextView mText2; 
 private Button mButton; 
 @Override 
 public void onCreate(Bundle savedInstanceState) 
 { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
  mText1 = (TextView) findViewById(R.id.myText2); 
  mText1.setText("文件路径:\n" + uploadFile); 
  mText2 = (TextView) findViewById(R.id.myText3); 
  mText2.setText("上传网址:\n" + actionUrl); 
   
  mButton = (Button) findViewById(R.id.myButton); 
  mButton.setOnClickListener(new View.OnClickListener() 
  { 
   @Override 
   public void onClick(View v) 
   { 
    uploadFile(actionUrl); 
   } 
  }); 
 } 
  
 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 请求正文的流。 
   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); 
   DataOutputStream dos = new DataOutputStream( 
     httpURLConnection.getOutputStream()); 
   dos.writeBytes(twoHyphens + boundary + end); 
   dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\"; filename=\"" 
     + srcPath.substring(srcPath.lastIndexOf("/") + 1) 
     + "\"" 
     + end); 
   dos.writeBytes(end); 
   FileInputStream fis = new FileInputStream(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(); 
   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()); 
  } 
 } 
} 

在AndroidManifest.xml文件里添加网络访问权限:
<uses-permission android:name="android.permission.INTERNET" /> 

运行结果:

您可能感兴趣的文章:Android使用第三方服务器Bmob实现发送短信验证码Android使用httpPost向服务器发送请求的方法Android编程向服务器发送请求时出现中文乱码问题的解决方法Android发送xml数据给服务器的方法基于Android 错误信息捕获发送至服务器的详解Android向node.js编写的服务器发送数据并接收请求


--结束END--

本文标题: Android上传文件到Web服务器 PHP接收文件

本文链接: https://www.lsjlt.com/news/21919.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Android上传文件到Web服务器 PHP接收文件
    Android上传文件到服务器,通常采用构造http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件。使用JavaS...
    99+
    2022-06-06
    Web Web服务 web服务器 PHP Android
  • 文件上传到云服务器
    首先,上传文件需要使用云服务器提供的API。云服务器通常会提供多个API,用于将用户上传的文件自动推送到云服务器上的多个存储设备中。在上传文件之前,需要先使用相应的API向云服务器申请上传文件的权限,然后云服务器会将文件保存在服务器上,并向...
    99+
    2023-10-27
    文件上传 服务器
  • android 上传文件到服务器代码实例
     android对于上传文件,还是很简单的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要一些content-type这...
    99+
    2022-06-06
    服务器 上传文件 Android
  • MobaXterm上传下载文件、文件夹到服务器上
      首先通过SSH与服务器建立连接,不懂的可查阅相关资料,CSDN里有很多介绍。 上传下载文件 可以在命令输入窗口,无需输入命令,按ctrl单击的同时鼠标右键出现以下左图,选择receive file using Z-modem或者send...
    99+
    2023-08-31
    linux
  • Java 上传文件到MinIO服务器上
    一、MinIO配置 主界面: 2.创建桶的文件路径 你可以设置任意想要配置的路径  3.管理桶权限 这里Prefix写 * 是为了匹配所有请求路径 Access: readonly就可以通过url访问图片了。 二、SpringBoo...
    99+
    2023-10-02
    java spring boot okhttp
  • Android实现上传文件到服务器实例详解
    本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理;采用Android+Struts2技术。 一、Android端实现文件上传 1)、新建一个An...
    99+
    2022-06-06
    服务器 上传文件 Android
  • Android中怎么利用OkHttp上传文件到服务器
    Android中怎么利用OkHttp上传文件到服务器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、编写服务器端在上一讲服务器下新建UploadFileServlet,代...
    99+
    2023-05-31
    okhttp android 服务器
  • Android应用中怎么将文件上传到服务器
    这篇文章将为大家详细讲解有关Android应用中怎么将文件上传到服务器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1)、新建一个Android项目命名为androidUpload,目录结构...
    99+
    2023-05-31
    android roi
  • java实现文件上传到服务器
    本文实例为大家分享了java实现文件上传到服务器的具体代码,供大家参考,具体内容如下 1、运行jar包,发送post请求 public static void main(String...
    99+
    2022-11-13
  • Java将文件上传到ftp服务器
    本文实例为大家分享了Java将文件上传到ftp服务器的具体代码,供大家参考,具体内容如下 首先简单介绍一下什么是FTP,以及如何在自己的电脑上搭建一个ftp服务器; —&...
    99+
    2022-11-13
  • 怎么传文件到云服务器上
    要将文件传输到云服务器上,可以使用以下几种方法:1. 使用FTP:使用FTP客户端软件(如FileZilla)连接到云服务器的FTP...
    99+
    2023-08-18
    云服务器
  • python怎么上传文件到服务器
    要上传文件到服务器,可以使用Python的`requests`库来发送POST请求。以下是一个示例代码:```pythonimpor...
    99+
    2023-09-05
    python 服务器
  • 上传本地文件到HDFS服务器
    在这篇文章中,我将详细介绍如何将本地文件上传到HDFS(分布式文件系统)服务器。我们将使用Hadoop命令行工具来完成这个任务。 首先,确保你已经安装了Hadoop并且HDFS服务器正在运行。接下来,我们将按照以下步骤进行操作: 步骤 1:...
    99+
    2023-12-23
    hdfs 服务器 npm
  • 把文件上传到腾讯云服务器上
    如果您将文件上传到腾讯云服务器上,您需要遵循以下步骤: 下载和安装腾讯云服务器软件和工具:在您打开 Chrome浏览器并登录腾讯云账号后,点击页面底部的“腾讯云”按钮并进行下载和安装腾讯云服务器软件和工具。 创建一个本地文件:在上一步中...
    99+
    2023-10-27
    腾讯 文件上传 器上
  • 怎么把文件上传到云服务器上
    要将文件上传到云服务器上,你可以按照以下步骤进行操作:1. 首先,你需要一个云服务器账号,并确保你已经购买了一个可用的服务器实例。2...
    99+
    2023-08-09
    云服务器
  • SSH 上传文件及文件夹到linux服务器的方法
    现在服务器linux很多。是不是不会传文件?别急 下面就是方法: 一、上传文件到linux服务器 首先从你本地切换到你要上传文件的目录,接下来: scp 文件名字 服务器用户名字@服务器ip:目录 例子: scp ...
    99+
    2022-06-04
    linux ssh 上传文件 linux服务器上传文件
  • Android 通过httppost上传文本文件到服务器的实例代码
    废话不多说了,直接给大家贴关键代码了。 public static void httpPost(Activity activity,String urlstr,String...
    99+
    2022-06-06
    服务器 Android
  • 怎么上传文件到Linux云服务器
    在Linux系统云服务器中使用lrzsz上传文件首先,使用命令:yum install -y lrzsz ,安装lrzsz工具;lrzsz工具安装好后,输入命令:rz 上传文件;在弹出选择文件对话框,选择要上传的文件打开;最后输入:sz +...
    99+
    2022-10-21
  • 怎样把文件传到云服务器上
    Amazon Web Services: Amazon EC2 (Elastic Container 2):可以将数据存储在云端,提供高可靠性和可扩展性。 Amazon Dynamo Services:可将数据备份到云端,提供数据安...
    99+
    2023-10-27
    器上 文件
  • 怎么上传ftp文件到云服务器
    要将文件上传到云服务器,你需要使用一个FTP客户端来执行上传操作。以下是一个基本的步骤:1. 安装一个FTP客户端,比如FileZi...
    99+
    2023-09-22
    云服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作