Я написал функции для кодирования изображения и отправки его в wcf. Um не использует параметры строки запроса. Um, используя URL-адрес для передачи параметров. Это мой код для Android, и это отлично работает.Как отправить базовую 64 кодированную строку с android на wcf
public JSONUpdate(String jobNumber, String documentType,
String documentFilePath, String DocumentFileName,
String encodedImage, String url) {
this.url = url + jobNumber.trim() + "/" + documentType.trim() + "/"
+ documentFilePath.trim().replace("/", "___") + "/"
+ DocumentFileName.trim() + "/" + encodedImage;
}
public boolean updateService() {
boolean result = false;
HttpClient httpClient = new DefaultHttpClient();
try {
HttpPost httpPost = new HttpPost(this.url);
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
if (httpResponse != null) {
if (httpResponse.getStatusLine().getStatusCode() == 200)
result = true;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception ex) {
String p = ex.getLocalizedMessage();
String y = ex.getMessage();
}
if (!result) {
}
return result;
}
В моей реализации WCF, которая также работает отлично, за исключением, когда я включаю закодированный параметр строки он выдает ошибку, потому что закодированная строка содержит «+» и «\». Таким образом, URL-адрес становится сломанным. Это мой WCF код для службы
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json,
UriTemplate = "attachment/{jobNumber}/{documentType}/{documentFilePath}/{DocumentFileName}/{encodedImage}",
BodyStyle = WebMessageBodyStyle.Bare)]
public bool InsertAttachment(String jobNumber, String documentType,
String documentFilePath, String documentFileName,
String encodedImage = null)
{
//implementation was written
}
как передать закодированное 64 битовой строки безопасно в качестве параметра с + и \? У меня нет большого опыта в этом. Я буду благодарен, если кто-нибудь может дать мне предложение.
Что является вашей целевой Android версии? – rekire
Android 3.0 - это моя версия Android – Kalanamith