请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

文件上传流程问题

老师您好,我一直对文件上传全流程有点疑问:文件是以比特流的形式被放入request.body中,然后通过HTTP传递给后端,然后后端再读取r.body中的内容这样的吗?但是我看文件大多会以表单form的形式传递,那请问这种情况下被编成比特流的文件存放在http请求中的哪呢?也就是前端和后端之间通信,此过程文件流是存在什么地方的呢?

正在回答

1回答

同学你好,是的,分块上传里的上传请求body内容就是文件分块的内容。另外,一般来说文件上传都是以form的形式来上传的,本课程的普通上传(非分块上传)也是基于form的形式来作上传;这种情况下文件的内容其实也是存储在http请求的body中,只不过body的内容不仅仅包含文件的内容,其中会有以boudary作为分割符的内容。如果这些上传请求是在浏览器里发起的,可以在浏览器f12看下具体的body内容形式的。

0 回复 有任何疑惑可以回复我~
  • 提问者 去则不闲 #1
    那老师,这两种方法,content-type也是不一样的吧?分别是什么呢?
    回复 有任何疑惑可以回复我~ 2020-08-27 07:24:33
  • xiaomo 回复 提问者 去则不闲 #2
    form形式的content-type为multipart/form-data;body为纯二进制内容的一般是application/octet-stream, 如果是明文文件也可以使用text/plain,如果明确知道文件类型的比如pdf, 那么可以定义为application/pdf等。
    回复 有任何疑惑可以回复我~ 2020-08-28 23:12:13
  • 拧壶冲 回复 xiaomo #3
    但是浏览器上传的时候不可能知道文件的类型吧?比如文件是一个word,但是我给改名成为png。所以content-type是不是都是multipart/form-data?
    回复 有任何疑惑可以回复我~ 2020-10-25 16:05:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信