我想發送帶有一些評論從Android設備到PHP服務器的圖像。我想利用JSON來交換數據。我看了很多地方,但我沒有得到正確的提示。任何人都可以建議一些指針,以獲得這與PHP的工作?圖片與來自Android的在PHP中發送的評論
我不想使用base65,因爲它會增加dataload和圖像大小,這也是一個問題。請建議您的想法和正確的方法來發展這一點。
我的Android代碼:
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", name));
params.add(new BasicNameValuePair("price", price));
params.add(new BasicNameValuePair("description", description));
params.add(new BasicNameValuePair("image","/sdcard/DCIM/android_1.png"));
// getting JSON Object
JSONObject json = jsonParser.makeHttpRequest(url_create_product,"POST", params);
// check log cat fro response
Log.d("Create Response", json.toString());
// check for success tag
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully created product
Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
startActivity(i);
// closing this screen
finish();
} else {
// failed to create product
}
} catch (JSONException e) {
e.printStackTrace();
}
在哪裏,當我在裏面添加圖像與多:
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
try {
reqEntity.addPart("name", new StringBody(name));
reqEntity.addPart("Id", new StringBody(price));
reqEntity.addPart("title",new StringBody(description));
//reqEntity.addPart("pic", new FileBody(new File("/sdcard/DCIM/android_1.png")));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Bitmap bitmap = null ;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, bos);
byte[] data = bos.toByteArray();
ByteArrayBody bab = new ByteArrayBody(data, "/sdcard/android_1.png");
reqEntity.addPart("pic", bab);
我不知道我怎麼可以通過這個多reqentitty使用JSON:
//獲取JSON對象
JSONObject json = jsonParser.makeHttpRequest(url_create_product,「POST」,params);
以及我如何將它作爲PHP中的圖像讀取。如果沒有下面的圖像的PHP代碼工作:
<?php
/*
* Following code will create a new product row
* All product details are read from HTTP Post Request
*/
// array for JSON response
$response = array();
$target_path1 = "uploads/";
// check for required fields
if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
//I have data from android here now but How I can read image here ?
所以,我有兩個問題在這裏: 1.如何將圖像傳遞作爲JSONObject的一部分(第一個代碼,而無需像工作) 2.如何閱讀本圖像回到PHP?
我真的很感激任何意見或建議。 謝謝。
我們將嘗試這個,但我不知道如何發送「文本」與圖像? – Raj
那麼你需要使用JSON。大部分與你試圖做的工作都依賴於PHP而不是android。您需要做的是將文本與JSON一起傳遞,並將圖像作爲帖子 – Shaun