我想使用MultipartPostData在黑莓模擬器中上傳圖片,以下是我的代碼,但它似乎不起作用。我還簽署了我的.cod文件。任何人都可以幫助我嗎?使用黑莓手機上傳圖片
public void postData(String Url, bytes[] data)
{
if (DeviceInfo.isSimulator()){
Url=Url+";deviceSide=true";
}
HttpConnection httpConn=null;
OutputStream os=null;
InputStream is=null;
String url=Url;
try {
PostData form = new MultipartPostData(MultipartPostData.DEFAULT_CHARSET, false) ;
byte [] postData = data;
form.setData(postData);
httpConn = (HttpConnection) Connector.open(url);
httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("User-Agent", "BlackBerry");
httpConn.setRequestProperty("Content-Type", "multipart/form-data");
httpConn.setRequestProperty("MIME-Type", "Image/Jpeg");
httpConn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, String.valueOf(postData.length));
httpConn.setRequestProperty("Content-Language", "en-US");
os =httpConn.openOutputStream();
os.write(form.getBytes());
//read response
StringBuffer sb = new StringBuffer();
is = httpConn.openDataInputStream();
int chr;
while ((chr = is.read()) != -1)
sb.append((char) chr);
System.out.println("Result................................ " + sb.toString());
String result=sb.toString();
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally {
try{
if(is!= null)
is.close();
if(os != null)
os.close();
if(httpConn != null)
httpConn.close();
} catch(Exception e1){
System.out.println(e1.toString());
}
}
}
任何HTTP錯誤? – 2010-08-12 05:05:00
根本沒有http錯誤 – Achal 2010-08-12 06:55:06
實際上,MultipartPostData應該使用badary和「Content-Disposition」行來構建發佈數據。 您是否找到任何方式來執行您的請求?我正在嘗試做同樣的事情,無法將任何數據傳遞給服務器(服務器在帖子中只看到空數組)。 – obo 2011-03-18 09:24:08