J'essaie d'envoyer un fichier image à un service Web.Publier un fichier image sur RESTful Web Service
voici mon code:
ConnectionFactory connFact = new ConnectionFactory();
ConnectionDescriptor connDesc;
//String value = new String(data);
String value= Base64OutputStream.encodeAsString(data, 0, data.length, false, false);
value = "imgData=" + value;
connDesc = connFact.getConnection("http://localhost:50806/Send");
int iResponseCode = 0;
HttpConnection httpConn = null;
OutputStream os = null;
if (connDesc != null)
{
try
{
byte[] theByteArray = value.getBytes();
httpConn = (HttpConnection)connDesc.getConnection();
httpConn.setRequestProperty("Content-Type", "image/jpeg");
httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("Content-Disposition", "form-data");
httpConn.setRequestProperty("Connection", "Keep-Alive");
httpConn.setRequestProperty("Content-Length", String.valueOf(data.length));
//os = httpConn.openOutputStream();
//os.write(theByteArray);
DataOutputStream printout = new DataOutputStream (httpConn.openOutputStream());
printout.write(theByteArray);
iResponseCode = httpConn.getResponseCode();
}
catch(Exception e){
e.printStackTrace();
}
finally{
if(os != null)
os.close();
if(httpConn != null){
httpConn.close();
}
}
}
return Integer.toString(iResponseCode);
Un tableau d'octets représenté le fichier d'image est passé dans la méthode.
signature de service:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Send(string imgData)
{}
Toutes les idées sur la façon d'envoyer cela?
Merci beaucoup, Dan
Qu'attend le service REST? Un tableau encodé en base64? –
Oui, c'est correct. – Dan
Après avoir lu un autre article sur un sujet similaire, j'ai changé mon service pour accepter une chaîne. – Dan