浏览器上传文件是否以字节为单位进行传输的(序列化?)?

因为文件无法保证能够被8位整除,所以当文件上传的input后接着文本上传,会导致文本读取错误吧?
比如

<form action="reg" method="post" enctype="multipart/form-data">
    <input type="text" name="username" id="username" />
    <input type="file" accept="audio/mp4, video/mp4" name="updateFile" />
    <input type="text" name="sex" id="sex" />
    <input type="submit /">
</form>

当文件不能被8整除,那么后面的文字就乱码了。
如果浏览器会自动将其填补为8的倍数,那就不会影响后面的问题,但是文件就不是原来的文件了,可能会增加了1字节,对吗?
所以浏览器到底会不会对文件进行填补呢?也就是是否以字节为单位进行传输?有出处吗?

补充:有答案说了,文件都是以字节为单位的。
关于序列化,既然文件是以字节为单位,那浏览器端的文件序列化又有什么意义呢?

阅读 3.1k
3 个回答

一个文件肯定是整字节的(文件的bit length能被8整除)


你不单要传文件还要传别的参数啊,就比如你那个username和sex
序列化后文件也是直接二进制上传啊,你抓个请求看看就知道了

第一次听说文件会有多出来几位的情况

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进