发个帖没人回可悲自己顶下吧 每次结贴都没法给分 CSDN这规则得改改啊 没人回帖把积分还我

解决方案 »

  1.   

    如果你需要POST 上传文件到服务器
    myRequest.ContentType = "application/x-www-form-urlencoded";   //调整为:myRequest.ContentType = "multipart/form-data";
      

  2.   

    2L正解没有声明"multipart/form-data"文件是不会被传过去的
      

  3.   

    application/x-www-form-urlencoded  这种是不能带文件的。
      

  4.   

    Url 为http://115.29.36.94/merchant/upload  userid 为vMkEo1cqWFTr code可随便添 photo为图 请大神们帮我调试下这段代码 
      

  5.   

    你的服务端是怎么写的呢?
    从你客户端代码来看,你传递参数的方式错了,参数必须在url后面用?拼接,也就是PostUrl+"?"+param,之后在RequestStream里面只发送文件内容,否则对方是不能区分参数和数据的。
      

  6.   

    服务器端不是我写的 他们用restclient
      

  7.   

    对面也是通过流解析啊 不把参数加流里他们如何解析到参数呢? 大神方便给个Dome么
      

  8.   

    对方只给了我 Url跟3个接口  
      

  9.   

    参数在Url里面是可以通过QueryString得到参数的,而如果参数在Post的数据里面,你就必须想办法让参数和实际文件数据区分开来,做不到就是设计上的问题,假如你的文件里面的内容和就是你的参数字符串,这时候是不是传递了2次参数?假如你文件里面的内容含有参数名=&等关键字,对面是解析为参数呢,还是作为文件内容处理呢?所以你Post的内容绝对不能含有参数部分,否则解析就不可能,除非使用标准的
    所以我要问你服务端是如何写的,难道对方写好服务端没写过测试代码吗?如果有写“multipart/form-data”,问他们要测试代码,否则拒绝干活(自己不测试通过就让别人用,误人子弟)。
      

  10.   

    参数在Url里面是可以通过QueryString得到参数的,而如果参数在Post的数据里面,你就必须想办法让参数和实际文件数据区分开来,做不到就是设计上的问题,假如你的文件里面的内容和就是你的参数字符串,这时候是不是传递了2次参数?假如你文件里面的内容含有参数名=&等关键字,对面是解析为参数呢,还是作为文件内容处理呢?所以你Post的内容绝对不能含有参数部分,否则解析就不可能,除非使用标准的“multipart/form-data”
    所以我要问你服务端是如何写的,难道对方写好服务端没写过测试代码吗?如果有写,问他们要测试代码,否则拒绝干活(自己不测试通过就让别人用,误人子弟)。
      

  11.   

    这算是二次传递么? 我参数=值&参数=值&参数=这些用UTF-8转成byte  然后文件也读出来建立个byte  最后建立一个date长度为参数部分+文件流 对么解析出来 不是也应该得出参数=值&参数=值&参数=    跟图像数据么? 为何能成为二次传递
      

  12.   

    对方用的是发送测试 不知道跟winform发送原理一样不?
      

  13.   

    这算是二次传递么? 我参数=值&参数=值&参数=这些用UTF-8转成byte  然后文件也读出来建立个byte  最后建立一个date长度为参数部分+文件流 对么解析出来 不是也应该得出参数=值&参数=值&参数=    跟图像数据么? 为何能成为二次传递
      

  14.   

    你看仔细了,那个就是用的"multipart/form-data"而不是你写的"application/x-www-form-urlencoded",参数传递方式大不相同,你网上查下"multipart/form-data"的写法吧。
    例如:http://yefeng.iteye.com/blog/315847