TC官方合作论坛

标题: 求一个七牛表单上传范本。 [打印本页]

作者: 夜不舞    时间: 2015-9-15 18:11
标题: 求一个七牛表单上传范本。
  1. POST / HTTP/1.1
  2. Host:           upload.qiniu.com
  3. Content-Type:   multipart/form-data; boundary=<frontier>
  4. Content-Length: <multipartContentLength>

  5. --<frontier>
  6. Content-Disposition:       form-data; name="token"

  7. <uploadToken>
  8. --<frontier>
  9. Content-Disposition:       form-data; name="key"

  10. <key>
  11. --<frontier>
  12. Content-Disposition:       form-data; name="<xVariableName>"

  13. <xVariableValue>
  14. --<frontier>
  15. Content-Disposition:       form-data; name="crc32"

  16. <crc32>
  17. --<frontier>
  18. Content-Disposition:       form-data; name="accept"

  19. <acceptContentType>
  20. --<frontier>
  21. Content-Disposition:       form-data; name="file"; filename="<fileName>"
  22. Content-Type:              application/octet-stream
  23. Content-Transfer-Encoding: binary

  24. <fileBinaryData>
  25. --<frontier>--
复制代码
这个是HTML的例子。
请帮帮我吧。。。。都快给我搞疯了。

作者: 超自然    时间: 2015-9-15 20:05
其实你不知道这种格式如果你不需要上传文件数据的话,可以直接改成一个字符串,用"&"复合连接各个字段,服务器照样认得
作者: 夜不舞    时间: 2015-9-15 20:43
超自然 发表于 2015-9-15 20:05
其实你不知道这种格式如果你不需要上传文件数据的话,可以直接改成一个字符串,用"&"复合连接各个字段,服务器 ...

确实要传送文件啊。能简单写一段让我看看吗?
作者: 超自然    时间: 2015-9-15 21:32
要传文件就麻烦了,你得自己调WinHttp构建post才行
官方的要么是传文件,要么是传字符串
像这种的,你要这样做:
首先,WinHttp它的发送函数是一个指向数据的指针,
所以,第一步,你这个包要分成3段,第一段暂且称为包头,就是这个文本中到文件之前的字符串部分,第二段暂且称为包体,它是文件数据,最后是包尾,文件完了后面的几行文本
你要申请一块内存,拿到这块内存的指针,然后把包头这段字符串写进这块内存的前部分,然后用_open函数,将文件读进内存,然后Copy到你申请的内存的起始地址+包头长度这里来,紧接着再把包尾的字符串也写进这块内存,
此时你就有了一个放在内存中的数据包了,并且拿到它的指针了
再调用Win32的WinHttp,按要求创建连接,打开会话设置各种参数,然后把刚才的指针交给Send函数就可以了
说得轻巧,整个过程下来有点小难度
作者: 夜不舞    时间: 2015-9-15 23:39
超自然 发表于 2015-9-15 21:32
要传文件就麻烦了,你得自己调WinHttp构建post才行
官方的要么是传文件,要么是传字符串
像这种的,你要这样做 ...

求详细指导。。。。能发点码让我看看。。。。迫切的想知道究竟是怎么构造的。
作者: 夜不舞    时间: 2015-9-15 23:46
超自然 发表于 2015-9-15 21:32
要传文件就麻烦了,你得自己调WinHttp构建post才行
官方的要么是传文件,要么是传字符串
像这种的,你要这样做 ...

求加QQ
作者: 夜不舞    时间: 2015-9-16 10:38

作者: 1364770121    时间: 2017-10-7 08:43
你们都是大神       在下佩服




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1