2016-11-10 74 views
0

我一直在尋找一種方法來使用PUT方法使用Volley API上傳文件。到目前爲止,我所看到的都是通過MultiPart POST方法,這些方法不適用於我的案例。通過PUT方法使用Volley API上傳文件

假設我不能在服務器端改變任何東西,我堅持使用PUT。我怎樣才能實現這一目標?

請注意,我只有在哪裏上傳文件和文件本身。

+0

的基本概念,我的理解是,PUT和POST是相似的(不一樣)。 http://stackoverflow.com/questions/630453/put-vs-post-in-rest然而,我認爲你應該能夠改變從POST到PUT的stackoverflow的答案,它應該仍然工作? http://stackoverflow.com/a/36891462/940834 – Doomsknight

+0

嗯好吧會檢查這一個。雖然不知道在params部分要替換什麼,因爲我沒有任何參數。我想不會覆蓋它。將更新結果 – kishidp

+0

如果你沒有任何參數,那麼你不需要設置任何參數。只是文件本身。 – Doomsknight

回答

0

使用PUT方法

url = "your URL"; 

StringRequest putRequest = new StringRequest(Request.Method.PUT, url, 
new Response.Listener<String>() 
{ 
    @Override 
    public void onResponse(String response) { 
     // response 
     Log.d("Response", response); 
    } 
}, 
new Response.ErrorListener() 
{ 
    @Override 
    public void onErrorResponse(VolleyError error) { 
        // error 
     Log.d("Error.Response", response); 
    } 
}){ 

@Override 
protected Map<String, String> getParams() 
{ 
     Map<String, String> params = new HashMap<String, String>(); 
     params.put("name", "file_name"); 

     return params; 
} 
}; RequestQueue queue = Volley.newRequestQueue(this); 
queue.add(putRequest); 
+0

你能解釋一下如何上傳一個文件。我只能看到添加文件名(字符串)。 – Doomsknight

+0

你想發送什麼樣的文件 – Sam