0

AndroidフォンからサーバーURLにファイルをアップロードしたい。ただし、サーバーには最初にログインが必要でした。このサーバーの URL にログイン URL も含めてファイルをアップロードするにはどうすればよいですか。例: URL のアップロード: http://api.someapi.net/v1/medium/14 必要なパラメーター: ファイルとタイトル

ログイン URL: http://api.someapi.net/v1/user/login 必要なパラメーター: 電子メールとパスワード

4

2 に答える 2

0

プロジェクトに 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);

多田!

于 2012-08-28T15:00:04.073 に答える
0

以下のコードを使用して、ログイン資格情報を確認します。応答が OK の場合は、以下の同じコードと異なるパラメーターを使用して、ファイルを URL に送信します。それ以外の場合は、好きなことをしてください。

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();
    }

それが役に立てば幸い

于 2012-08-28T15:03:39.003 に答える