Chuyển đổi tệp hình ảnh thành chuỗi Base64 và gửi chuỗi của bạn với tên dịch vụ web dễ dàng. Bạn vẫn cần mẫu mã?
Sửa
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;
}
gửi đối tượng của bạn để webservice như là một chuỗi JSON:
trong hoạt động của bạn:
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
//...
}
Trong webservice của bạn chuyển đổi chuỗi json của bạn đến một thực đối tượng là bản sao của MyClass.
chỉnh sửa:
Ngoài ra bạn có thể bỏ qua Json và có một phương pháp webserivce với 2 tham số: MyWebserviceMethod(string filename, string content);
qua Base64 chuỗi như tham số thứ hai.
OK, làm cách nào để chuyển đổi thành Base64? Và cách chuyển đổi lại thành tệp hình ảnh trên máy chủ? Tôi tìm thấy ít thông tin để sử dụng DataHandler - tốt hơn? Một ví dụ mã ngắn đẹp sẽ thực sự tuyệt vời. Cảm ơn – Yoav
Gson có thể được sử dụng với SoapObject không? Tôi đang sử dụng SoapObject c; ... c.adppProperty (...). Tôi có nên đặt thông tin Base^$ làm tài sản không? – Yoav
cách bạn triển khai dịch vụ web của mình? nó là một .Net webservice? – breceivemail