HTML图像上传:图像文件如何发送到服务器?

时间:2016-03-24 21:33:57

标签: html forms http encoding image-uploading

我不是问如何设置form submit = ...<input type = file ...

什么&#39;格式&#39;做.jpg是为了移动&#39;从用户的电脑,通过互联网,到服务器?

我浏览了my_typeFileInput.files[0]但这是我发现的全部内容:

lastModified     :  457194076140
lastModifiedDate : Date {Sat Mar 05 2016 11:07:56 GMT-0500 (Eastern Daylight Time)}
name             : "my_image.jpg"
size             : 1757295
type             : "image/jpeg"

显然,这还不足以将互联网上的.jpg数据传输到服务器。我希望看到长达1.7MB的数据串代表.jpg。

1 个答案:

答案 0 :(得分:0)

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4有一个类型为multipart/form-data的请求的示例,这应该可以解释一下。

如果您需要/需要更多详细信息,请转到RFC http://tools.ietf.org/html/rfc2388

在上面提到的示例中,您可以看到它所说的文本文件的位置,Content-Type: text/plain?这意味着,文本文件内容将按原样嵌入,而不应用任何其他转义或编码。对于图像,它表示Content-Transfer-Encoding: binary - 这意味着任何八位字节序列,所以基本相同:只是未编码的二进制图像数据。

当然,如果文本文件或图像包含与所选边界相同的字节序列,那么可能会导致问题 - 示例中的值为AaB03x(实际上更长,随机生成的字符串会可以使用),并且可能(加上前两个==,它们组成了绑定字符串)以及文本或图像中的内容 - 所以不要将“普通”数据放入电子邮件源中,毕竟可以使用编码形式 - 比如二进制图像数据的base64,以及文本的quoted-printable。