当文件仅部分上传时, PHP 可能会生成UPLOAD_ERR_PARTIAL
错误,我不确定在这种情况下应该使用哪个HTTP 状态代码。
如果用户取消上传,通常会发生这种情况(请参阅为什么文件只能部分上传和php.net 上的文件上传错误)
UPLOAD_ERR_PARTIAL 在文件数据后未找到 mime 边界时给出。一个可能的原因是用户取消了上传(按 ESC 等)。
当文件仅部分上传时, PHP 可能会生成UPLOAD_ERR_PARTIAL
错误,我不确定在这种情况下应该使用哪个HTTP 状态代码。
如果用户取消上传,通常会发生这种情况(请参阅为什么文件只能部分上传和php.net 上的文件上传错误)
UPLOAD_ERR_PARTIAL 在文件数据后未找到 mime 边界时给出。一个可能的原因是用户取消了上传(按 ESC 等)。
对于这种情况,您应该使用 409 状态代码。
根据http://www.ietf.org/rfc/rfc2616.txt:
由于与资源的当前状态冲突,无法完成请求。
仅在预期用户可能能够解决冲突
并重新提交请求的情况下才允许使用此代码。响应正文应该包含足够的
信息让用户识别冲突的来源。
理想情况下,响应实体将包含足够的信息供用户或用户代理解决问题;但是,这可能是
不可能的,也不是必需的。
如果用户上传失败是因为他们上传的内容有问题,只需说:400 Bad Request
您不必发送任何状态代码,因为客户端已经断开连接。
我会选择 422(由于语义错误而无法执行请求)或 449(执行操作后应重试请求)。
我认为标题应该基于错误上下文:
如果文件上传不是允许的类型:
如果文件上传太大:
如果服务器有上传问题:
如果上传超时:
但总的来说,我会说500是相当标准的。
UPLOAD_ERR_PARTIAL在文件数据后未找到 mime 边界时给出。
411 长度要求
请求没有指定其内容的长度,这是请求的资源所要求的
我会用
408请求超时。因为它表明请求仅被部分发送(在这种情况下不支持)
400 Bad Request 看起来像是另一种选择。
您也可以使用非保留号码创建自己的号码。
但是如果请求被取消,你会在哪里发送响应?