如何使用SOAP上传图像文件到webservice?
我需要将其与SoapObject一起使用,以便webservice可以在其上下文中处理输入文件并为其提供新文件名。
如何实现? 有代码示例吗?
Yoav
public static String fileToBase64(String path) throws IOException {
byte[] bytes = Utilities.fileToByteArray(path);
return Base64.encodeBytes(bytes);
}
public static byte[] fileToByteArray(String path) throws IOException {
File imagefile = new File(path);
byte[] data = new byte[(int) imagefile.length()];
FileInputStream fis = new FileInputStream(imagefile);
fis.read(data);
fis.close();
return data;
}
public class MyImage {
public String name;
public String content;
}
将您的对象作为JSON字符串发送到Web服务:
在您的活动中:
MyClass myClass = new MyClass();
myClass.name = "a.jpg";
myClass.content = fileToBase64("../../image.jpg");
sendMyObject(myClass);
private void sendMyObject(
MyImage myImage ) throws Exception {
// create json string from your object
Gson gson = new Gson();
String strJson = gson.toJson(myImage);
//send your json string here
//...
}
MyWebserviceMethod(string filename,string content);
将Base64字符串作为第二个参数传递。