狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

android通過http上傳文件到web服務器端

admin
2013年2月25日 12:48 本文熱度 4074
本文章介紹了一個關于android通過http來實現文件上傳功能,在服務器端我們是用php來實現的,有需要的朋友可以參考一下
 代碼如下

<?php

///如果有上傳文件則接收

if($_FILES){ 

$target_path = $target_path . basename( $_FILES['file1']['name']);

 try{ if(move_uploaded_file($_FILES['file1']['tmp_name'], $target_path)) {

echo "The file ".  basename( $_FILES['file1']['name']).  " has been uploaded";

}

} catch( Exception $e ) {

echo $e->getMessage();   }

}

?>

Android 代碼:

package com.nbcio.baishicha.test;
import java.io.DataOutputStream;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.Toast;


public class test extends Activity {

/*

* 變量聲明 newName:上傳后在服務器上的文件名稱

*

* uploadFile:要上傳的文件路徑 actionUrl:服務器對應的程序路徑

*/

private String newName = "";

private String uploadFile = "";

private String actionUrl = "http://www.hzhuti.com/index.php";//這里定義你的上傳路徑


@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
Intent intent = this.getIntent();

Bundle bundle = intent.getExtras();

newName = bundle.getString("fileName");

uploadFile = newName;
try {

String ok = post(actionUrl, newName);

Toast.makeText(this, "OK!", Toast.LENGTH_LONG).show();

finish();


} catch (IOException e) {

//

// TODO Auto-generated catch block

e.printStackTrace();

}


}


/* 上傳文件到Server的方法 */

/**

*

* @param actionUrl

* @param params

* @param files

* @return

* @throws IOException

*/

public static String post(String actionUrl, String FileName)

throws IOException {


String BOUNDARY = java.util.UUID.randomUUID().toString();

String PREFIX = "--", LINEND = "rn";

String MULTIPART_FROM_DATA = "multipart/form-data";

String CHARSET = "UTF-8";

 


URL uri = new URL(actionUrl);

HttpURLConnection conn = (HttpURLConnection) uri.openConnection();

conn.setReadTimeout(5 * 1000);

// 緩存的最長時間

conn.setDoInput(true);// 允許輸入

conn.setDoOutput(true);// 允許輸出

conn.setUseCaches(false); // 不允許使用緩存

conn.setRequestMethod("POST");

conn.setRequestProperty("connection", "keep-alive");

conn.setRequestProperty("Charsert", "UTF-8");

conn.setRequestProperty("Content-Type", MULTIPART_FROM_DATA

+ ";boundary=" + BOUNDARY);

 


DataOutputStream outStream = new DataOutputStream(

conn.getOutputStream());

 


// 發送文件數據

if (FileName != "") {

 


StringBuilder sb1 = new StringBuilder();

sb1.append(PREFIX);

sb1.append(BOUNDARY);

sb1.append(LINEND);

sb1.append("Content-Disposition: form-data; name="file1"; filename=""

+ FileName + """ + LINEND);

sb1.append("Content-Type: application/octet-stream; charset="

+ CHARSET + LINEND);

sb1.append(LINEND);

outStream.write(sb1.toString().getBytes());

 


InputStream is = new FileInputStream(FileName);

byte[] buffer = new byte[1024];

int len = 0;

while ((len = is.read(buffer)) != -1) {

outStream.write(buffer, 0, len);

}

 
is.close();

outStream.write(LINEND.getBytes());

 
}

 
// 請求結束標志

byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINEND).getBytes();

outStream.write(end_data);

outStream.flush();

 
// 得到響應碼

int res = conn.getResponseCode();

InputStream in = null;

if (res == 200) {

in = conn.getInputStream();

int ch;

StringBuilder sb2 = new StringBuilder();

while ((ch = in.read()) != -1) {

sb2.append((char) ch);

}

}

return in == null ? null : in.toString();

}

}

該文章在 2013/2/25 12:48:32 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved