采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,我一直对文件上传全流程有点疑问:文件是以比特流的形式被放入request.body中,然后通过HTTP传递给后端,然后后端再读取r.body中的内容这样的吗?但是我看文件大多会以表单form的形式传递,那请问这种情况下被编成比特流的文件存放在http请求中的哪呢?也就是前端和后端之间通信,此过程文件流是存在什么地方的呢?
同学你好,是的,分块上传里的上传请求body内容就是文件分块的内容。另外,一般来说文件上传都是以form的形式来上传的,本课程的普通上传(非分块上传)也是基于form的形式来作上传;这种情况下文件的内容其实也是存储在http请求的body中,只不过body的内容不仅仅包含文件的内容,其中会有以boudary作为分割符的内容。如果这些上传请求是在浏览器里发起的,可以在浏览器f12看下具体的body内容形式的。
那老师,这两种方法,content-type也是不一样的吧?分别是什么呢?
form形式的content-type为multipart/form-data;body为纯二进制内容的一般是application/octet-stream, 如果是明文文件也可以使用text/plain,如果明确知道文件类型的比如pdf, 那么可以定义为application/pdf等。
但是浏览器上传的时候不可能知道文件的类型吧?比如文件是一个word,但是我给改名成为png。所以content-type是不是都是multipart/form-data?
登录后可查看更多问答,登录/注册
紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员
1.3k 23
2.0k 13
1.6k 13
1.1k 13
1.2k 13