表单是这样的:<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data"
action="my.ashx?do=SavePost" onsubmit="return CheckUpload();">
<input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" /><br />
<br />
<input id="btnUpload" type="submit" value="Send"/>
<iframe name="UploadWindow" src="javascript:void(0)"></iframe>
</form>
但发送后,通过InputStream取得的信息却是这样的:-----------------------------7d81f3291e0928
Content-Disposition: form-data; name="NewFile"; filename="E:\User\uonun\桌面\1.jpg"
Content-Type: image/pjpeg��������...前面多了几行的内容,看样子是Request的头部信息,但怎么才能确定出这个头部信息的长度然后再去掉?不然将Stream保存成文件后就产生文件错误了。

解决方案 »

  1.   

    不是头部信息,是Form表单里面不同表单项之间的分隔信息,由系统随机产生,在最后还有有一个-----------------------------7d81f3291e0928--可以从Request的ContentType中获得。
      

  2.   

    保存文件 
    Request.Saveas();
      

  3.   


    Request.ContentType 取出来是“multipart/form-data; boundary=---------------------------7d84b38330e44”,根本没办法用啊?说回来,其实我的最终目的是在于,怎么才能取得到我Post过来的jpg文件那一段Stream。我在网上查了不少的资料,也参考了 http://blog.163.com/szx_rencaijob/blog/static/38447108200872142941100/,
    但他这个上传了从Request.InputStream取出来就直接是上传的图片的内容了,没别的内容。。试过了。。Save出来的和InputStream里面的一样,都有那段多余的东西。即使我指定了Request.Saveas()的第二个参数为false...
      

  4.   

    笨,简单的可以用Request.Files(fileindex).SaveAs,复杂的可以搜搜大文件上传的相关资料。http://blog.163.com/szx_rencaijob/blog/static/38447108200872142941100/里面用了一个webclient的控件,Post的不是标准的HTTP请求
      

  5.   

    哈哈,万分感谢 CityBird !这类库就是一海洋,说找不到时,就放在眼前都找不到。
    现在看context.Request.Files[index]这个,我真纳了闷了我眼睛是瞎了么?这个都视而不见了。。嗯,问题解决,结贴!