做视频上传的时候往往是多线程每个视频的大小还不好控制,易语言又是32位程序 ,如果直接读入emmmm
所以如果是需要分段上传的视频可以通过文件号 需要哪一段就读入哪一段,先记录在这里过两天实践的时候再写
11点34分

普通表单的提交数据不管是post还是get 数据形式基本都是

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13

say=Hi&to=Mom

要实现文件上传的时候,格式就变了,当时没能理解 反正简单的拼接组合 上传就是了。下面是有文件时的形式

------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="access_token"

[access_token]
------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="openid"

[openid]
------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="transaction_id"

[transaction_id]
------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="start_offset"

[start_offset]
------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="end_offset"

[end_offset]
------WebKitFormBoundary[随机数]
Content-Disposition: form-data; name="mediatrunk"; filename="[文件名]"
Content-Type: application/octet-stream

//这里扔文件二进制 拼接到一起 这里的换行如果是分段上传要效验字节数的话 换行也是算字节的要注意一下
------WebKitFormBoundary[随机数]--

------WebKitFormBoundary[随机数] //这个随机数全部是固定的13位随机字符嗯是字符不是数字,我
Content-Disposition: form-data; name="access_token" 然后这里就是这个数据的类型 和名称

反正就替换组合提交就ok了,为什么表单有文件提交的形式会变?
第一种形式(下面是微软mdn上的解释,我就不多说了也是写这篇文章的时候才去翻的很容易理解):

数据被编码成以 '&' 分隔的键-值对, 同时以 '=' 分隔键和值. 非字母或数字的字符会被 percent-encoding:
这也就是为什么这种类型不支持二进制数据的原因

参考:
POST
Content-Disposition

文章编辑出来有点乱,如果有人看到这篇文章的话emmm 建议自己用fd 或HTTPdebuger自己抓一下包看看