2017-10-20 114 views
0

嗯,这可能是一个简单的问题,但是,在我的应用我有一些数据上传到服务器,这将是一些用户的图像(3或4)与其他用户数据一起(姓名,通行证,年龄等)。凌空MultipartRequest VS StringRequest使用参数

为此,我将使用Volley,并从答案HERE我一直在阅读有关使用MultipartRequest

不过,我不知道的区别,或者使用的利益而MultipartRequest如果在平时StringRequest我有方法getParams在那里我可以做这样的:

override fun getParams(): Map<String, String> { 
     val params = HashMap<String, String>() 
     params.put("image1", encodedImage1Base64) 
     params.put("image2", encodedImage2Base64) 
     params.put("image3", encodedImage3Base64) 
     params.put("image4", encodedImage4Base64) 
     params.put("user_name", userName) 
     params.put("user_pass", userPass) 
     params.put("user_age", userAge) 
     params.put("user_email", userEmail) 
     // and any other user data needed 
     return params 

回答

0

我已经实现了这两种方法用于使用Volley上传图像,并且MultipartRequest比Base64编码的字符串工作得更好。 Base64编码增加了33%的传输数据。多通常上传二进制数据时,特别是如果你要上传大文件的路要走。

+0

OK,这是非常有趣的,但你不必须使用'Base64'编码上传图片无论你用?哪种方法,你怎么直接上传图片没有编码? – codeKiller

+0

没有,多部分请求不使用base64编码,它传输的图像直接字节到服务器。检查这个例子:[链接] https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594 – FerDensetsu