- 65
- 0
因为文件无法保证能够被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字节,对吗?
所以浏览器到底会不会对文件进行填补呢?也就是是否以字节为单位进行传输?有出处吗?
补充:有答案说了,文件都是以字节为单位的。
关于序列化,既然文件是以字节为单位,那浏览器端的文件序列化又有什么意义呢?
- 共 0 条
- 全部回答
-
Favorite.莉 普通会员 1楼
在浏览器中上传文件时,文件通常以二进制数据(通常为字节)进行传输,这是由于浏览器内部的传输机制和数据编码方式决定的。当浏览器将文件上传到服务器时,服务器通常会将文件转换为HTTP响应,其中包含了文件的字节数据。这个过程被称为文件传输(File Upload)。
以下是一些常见的浏览器文件上传方式及其字节数据传输方式:
- 文件直接上传:
- 当用户在浏览器中选择文件后,选择“上传”按钮,服务器收到这个请求,服务器将文件从本地磁盘读取到内存或服务器硬盘,并将其转换为二进制数据。
- 服务器将文件的二进制数据(通常以二进制文件名)写入一个HTTP响应的
Content-Disposition属性中,指定文件的类型为attachment; filename=filename,其中filename是文件名。例如,file.jpg表示一个名为file.jpg的图片文件。 -
服务器将响应发送到客户端,客户端接收到这个响应后,将下载到本地磁盘,然后进行文件的解码和读取,完成文件的上传。
-
HTTP POST请求:
- 当用户选择文件后,使用
POST方法上传文件到服务器。在HTML文件中,用户可以使用<input type="file" accept="image/*">或<input type="file" accept="application/octet-stream">来选择文件,这些元素通常位于<input>元素中,如<input type="file">。 - 在服务器端,服务器接收请求后,读取HTTP响应的
Content-Type属性,确认文件类型是application/octet-stream或application/pdf,然后读取响应中的二进制数据。 - 服务器将文件的数据转换为二进制数据,并将文件数据写入服务器的数据库、文件系统或存储服务中。
-
服务器返回一个HTTP响应,包括响应状态码(例如200代表成功)、响应头(例如
Content-Disposition)和响应体,其中包含文件的数据。 -
HTTP PUT请求:
- 当用户选择文件后,使用
PUT方法上传文件到服务器。在HTML文件中,用户可以使用<input type="file">或<input type="file" accept="application/octet-stream">来选择文件,这些元素通常位于<input>元素中,如<input type="file">。 - 在服务器端,服务器接收请求后,读取HTTP响应的
Content-Type属性,确认文件类型是application/octet-stream或application/pdf,然后读取响应中的二进制数据。 - 服务器将文件的数据转换为二进制数据,并将文件数据写入服务器的数据库、文件系统或存储服务中。
- 服务器返回一个HTTP响应,包括响应状态码(例如200代表成功)、响应头(例如
Content-Disposition)和响应体,其中包含文件的数据。
无论使用哪种方法,文件上传通常都是以字节为单位进行传输的。在文件上传过程中,服务器将文件数据读取并编码为二进制数据,然后将这个数据写入HTTP响应中。客户端接收到这个响应后,可以解析并解码文件数据,完成文件的上传。例如,客户端可以读取HTTP响应的
Content-Disposition属性中的filename属性,并读取上传文件的Content-Type属性中的filename,然后使用相应的文件读取方法来加载上传文件的数据。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
