我在android上傳圖像。目前我的代碼只上傳文件,但我也想發送一些參數。我正在嘗試以下如何發送參數與android中的文件
FileInputStream fileInputStream = new FileInputStream(sourceFile);
URL url = new URL(upLoadServerUri);
conn = (HttpURLConnection) url.openConnection(); // Open a HTTP connection to the URL
conn.setDoInput(true); // Allow Inputs
conn.setDoOutput(true); // Allow Outputs
conn.setUseCaches(false); // Don't use a Cached Copy
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("ENCTYPE", "multipart/form-data");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
conn.setRequestProperty("uploaded_file", fileName);
dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""+ fileName + "\"" + lineEnd);
dos.writeBytes(lineEnd);
//Sending data
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"paramName\"" + lineEnd);
dos.writeBytes(lineEnd);
dos.writeBytes(globalUID);
並在服務器端我使用php。這裏是我如何獲得該參數
$param = $_POST["paramName"];
target_path1 = "./places_photos/" . $param;
但我目前的代碼確實上傳文件,但它不發送參數。我怎樣才能發送參數,我怎樣才能讓他們在服務器端?
更新
目前,圖像保存在它在$target_path1
可變提到places_photos
目錄。我想要的是將該圖像保存在用戶的目錄中,並且該目錄被命名爲用戶標識。但不幸的是,我沒有得到服務器端的用戶ID。我如何將文件發送到服務器?
這也不工作。其他解決方案? – 2619
您可以使用像Firebug或Wireshark這樣的工具,並跟蹤發送到服務器的表單是什麼形式?多部分/表單數據對於新線條和邊界100%正確非常挑剔。 – azgolfer