2
我試圖將存儲在Android手機上的一些二進制數據作爲文件發送到在PHP中創建的Web服務。什麼編碼可以用來將二進制數據發送到PHP?
我一直在使用MultiPart
以及ValuePair
但沒有運氣嘗試.. !!
什麼我也做了是在Java中創建一個控制檯應用程序,其內容從靜態位置上的Windows二進制文件,並使用相同的PHP服務,它使用MultiPart
工作正常,下面是該代碼:
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file,"text/plain");
mpEntity.addPart("qLog", new StringBody(readFileAsString(file.getAbsolutePath()),
Charset.defaultcharset)));
mpEntity.addPart("fileName", new StringBody(fileName));
mpEntity.addPart("personid", new StringBody(userid));
和功能readFileAsString()
是:
private String readFileAsString(String filePath) throws IOException {
StringBuffer fileData = new StringBuffer();
BufferedReader reader = new BufferedReader(new FileReader(filePath));
char[] buf = new char[1024];
int numRead=0;
while ((numRead=reader.read(buf)) != -1) {
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
}
reader.close();
return fileData.toString();
}
但我這樣做是在Android時,它不維護二進制值。我認爲是由於Android中的默認編碼原因是UTF-8。
你能幫忙嗎?我如何獲取從Android發送到PHP服務的二進制數據?
感謝您的評論。嘗試了他們兩個..仍然遇到問題。 – 2013-03-14 09:35:07