zoukankan      html  css  js  c++  java
  • (转载)multipart/form-data文件上传

    form表单的enctype属性:规定了form表单数据在发送到服务器时候的编码方式

    application/x-www-form-urlencoded:默认编码方式
    multipart/form-data:指定传输数据为二进制数据,例如图片、mp3、文件
    text/plain:纯文本的传输。空格转换为“+”,但不支持特殊字符编码。
    

    多部件请求体

    POST / HTTP/1.1
    Host: localhost
    cache-control: no-cache
    Postman-Token: aa6340a3-4e9b-448c-be76-e6de91258d81
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    
    Content-Disposition: form-data; name="file"; filename="/Users/zhuyx/Documents/test.png
    
    
    
    Content-Disposition: form-data; name="token"
    
    text
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    

    多部件请求体:就是把每一个表单项分隔为一个部件。
    表单项分为普通表单项和文件表单项
    multipart/form-data类型的body为多部请求体
    

    postman body支持类型

    form-data

    http请求中的multipart/form-data,会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。
    既可以上传键值对,也可以上传文件
    当上传的字段是文件,会使用content-type表明文件类型;content-disposition说明字段的一些信息。
    由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对。
    

    application/x-www-from-urlencoded

    会将表单内的数据转换为键值对。
    

    raw

    可以上传任意格式的文本,可以上传text、json、xml、html等
    

    binary/application/octet-stream

    只可以上传二进制数据,通常用来上传文件,一次只能上传一个文件。
    

    multipart/form-data与application/x-www-from-urlencoded区别

    multipart/form-data:既可以上传二进制数据,也可以上传表单键值对,只是最后会转化为一条信息
    x-www-from-urlencoded:只能上传键值对,并且键值对都是间隔分开的。
    

    转载者信息:
    作者:AmyZYX
    出处:http://www.cnblogs.com/amyzhu/

    后记:

    万分感谢这位大佬的博客。
  • 相关阅读:
    QT 5 安装 vs2017 后,出现找不到 rc.exe 问题
    git push -f
    使用druid连接池的超时回收机制排查连接泄露问题
    git 记住密码
    postgresql c library use
    jvm内存溢出分析
    Maven中使用本地JAR包
    执行Git命令时出现各种 SSL certificate problem 的解决办法
    transformer模型计算图
    jieba分词单例模式及linux权限不够情况下tmp_dir自定义
  • 原文地址:https://www.cnblogs.com/prjruckyone/p/12677752.html
Copyright © 2011-2022 走看看