我想從我的android手機上傳文件到服務器的URL。但服務器需要先登錄。我怎麼做到這一點上傳文件到這個服務器的URL也登錄URL。 例如: 上傳網址: http://api.someapi.net/v1/medium/14 參數要求:文件和標題上傳文件到服務器在android
登錄網址: http://api.someapi.net/v1/user/login 參數要求:電子郵件地址和密碼
我想從我的android手機上傳文件到服務器的URL。但服務器需要先登錄。我怎麼做到這一點上傳文件到這個服務器的URL也登錄URL。 例如: 上傳網址: http://api.someapi.net/v1/medium/14 參數要求:文件和標題上傳文件到服務器在android
登錄網址: http://api.someapi.net/v1/user/login 參數要求:電子郵件地址和密碼
使用下面的代碼檢查登錄憑證。如果響應正常,請使用以下相同的代碼將文件發送到網址,並使用不同的參數。否則做你想做的事。
URL siteUrl;
try {
siteUrl = new URL("yoururl");
HttpURLConnection conn = (HttpURLConnection) siteUrl
.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
String content1 = "";
//Here param is the Map<String,String> which holds the value of email and password
Set getkey = param.keySet();
Iterator keyIter = getkey.iterator();
String content = "";
for (int i = 0; keyIter.hasNext(); i++) {
Object key = keyIter.next();
if (i != 0) {
content += "&";
}
content += key + "=" + param.get(key);
}
//Check by printing here
System.out.println(content);
out.writeBytes(content.trim());
out.flush();
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String line = "";
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
}
希望它可以幫助
你需要Apache的Mime4J jar文件在您的項目(在這裏 - http://james.apache.org/download.cgi#Apache_Mime4J )
,做:
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("file", new InputStreamBody(file, "UPLOAD.jpg"));
request.setEntity(entity);
田田!
感謝您的答覆。我正在嘗試..... –
感謝它的工作 –
如果你想確保在第一用戶登錄,您可以登錄生成並返回一個令牌。然後有上傳要求(令牌,文件,標題) – mario