gpt4 book ai didi

android - 如何将base 64编码的字符串从android发送到wcf

转载 作者:太空狗 更新时间:2023-10-29 14:21:29 25 4
gpt4 key购买 nike

我编写了对图像进行编码并将其发送到 wcf 的功能。嗯,不使用查询字符串参数。嗯,使用 URL 来传递参数。这是我的 android 代码,可以正常工作。

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 Base64自 API 8 以来可行的实现。

Base64.encodeToString(youtString.getBytes(...), Base64.NO_WRAP + Base64.URL_SAFE);

关于android - 如何将base 64编码的字符串从android发送到wcf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16556943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com