用于文件上传的适当 HTTP 状态代码
Appropriate HTTP status code for file upload
我的应用程序允许上传文件。作为限制,我想限制只有特定扩展名的文件(例如 pdf)
因此,如果上传的是 pdf 扩展名的文件,我将 return 200/201 ok
状态代码指示上传成功。
我很困惑,我应该return阅读多个答案后对于非pdf文件我应该怎么做-
- 400 - return
400 bad request
的参数是请求因验证而失败。不使用的论点是有时它也表示在发出请求时存在语法错误。
- 415 - return
415 Unsupported Media
的参数是文件扩展名不相同。 (将媒体视为文件),但内容类型 (multipart/form-data) 匹配并受支持。
- 422 - 使用
422 unprocessable entity
的论点是服务器理解内容类型 (multipart/form-data) 但仍然无法处理请求。但另一方面,如果用例只是上传文件,它仍然可以处理。
来自 MDN:
415 Unsupported Media Type
The HTTP 415 Unsupported Media Type client error response code indicates that the server refuses to accept the request because the payload format is in an unsupported format.
The format problem might be due to the request's indicated Content-Type or Content-Encoding, or as a result of inspecting the data directly.
我认为最后一句话明确表示 415 并非严格用于不受支持 Content-Type
headers.
我的应用程序允许上传文件。作为限制,我想限制只有特定扩展名的文件(例如 pdf)
因此,如果上传的是 pdf 扩展名的文件,我将 return 200/201 ok
状态代码指示上传成功。
我很困惑,我应该return阅读多个答案后对于非pdf文件我应该怎么做-
- 400 - return
400 bad request
的参数是请求因验证而失败。不使用的论点是有时它也表示在发出请求时存在语法错误。 - 415 - return
415 Unsupported Media
的参数是文件扩展名不相同。 (将媒体视为文件),但内容类型 (multipart/form-data) 匹配并受支持。 - 422 - 使用
422 unprocessable entity
的论点是服务器理解内容类型 (multipart/form-data) 但仍然无法处理请求。但另一方面,如果用例只是上传文件,它仍然可以处理。
来自 MDN:
415 Unsupported Media Type
The HTTP 415 Unsupported Media Type client error response code indicates that the server refuses to accept the request because the payload format is in an unsupported format.
The format problem might be due to the request's indicated Content-Type or Content-Encoding, or as a result of inspecting the data directly.
我认为最后一句话明确表示 415 并非严格用于不受支持 Content-Type
headers.