问题描述
CS项目,客户端是,net服务端是java,通过webservice连接我们现在是这么做的,客户端向服务端传递的参数是字符串,然后再通过JSONObject转换成json格式。如果我需要批量上传图片就有点麻烦了,传递一个流,然后对应流传递一个字符串里面定义图片个数以及每个图片的大小,然后截取流最后生成图片,并且要保证图片的顺序。我想问有没有更好的办法来解决这些问题
解决方案
解决方案二:
1.让.net一个个按顺序传,但让用户感觉是批量2.让.net把所有图片打包,比如压缩成rar格式,至于顺序信息,一起打到压缩包中,然后扔到服务器。暂时想到这两
解决方案三:
楼上正解,最好在做个图片上传队列
解决方案四:
或者干脆把图片转成base64发上去得了
解决方案五:
thanksforsharing
解决方案六:
引用3楼foggysource的回复:
或者干脆把图片转成base64发上去得了
如果用base64的话就太大了
解决方案七:
这里有个解决办法stackoverflow找到的,看上去挺好的,将创建文件和传输文件内容分开,先post你所有文件meta,这样服务端对每个文件创建,然后就可以并行上传每个文件内容了,每个文件对应的id不同IagreewithGregthatatwophaseapproachisareasonablesolution,howeverIwoulddoittheotherwayaround.Iwoulddo:POSThttp://server/data/mediabody:{"Name":"Test","Latitude":12.59817,"Longitude":52.12873}Tocreatethemetadataentryandreturnaresponselike:201CreatedLocation:http://server/data/media/21323{"Name":"Test","Latitude":12.59817,"Longitude":52.12873,"ContentUrl":"http://server/data/media/21323/content"}TheclientcanthenusethisContentUrlanddoaPUTwiththefiledata.Thenicethingaboutthisapproachiswhenyourserverstartsgetweigheddownwithimmensevolumesofdata,theurlthatyoureturncanjustpointtosomeotherserverwithmorespace/capacity.Oryoucouldimplementsomekindofroundrobinapproachifbandwidthisanissue