错误如下参考: array (size=10) 'name' = string 'upload.image.type.error.jpg' (length=27) 'type' = string 'application/octet-stream' (length=24) 'tmp_name' = string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29) 'error' = int 0 'size' = string

错误如下参考:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'application/octet-stream' (length=24)
  'tmp_name' => string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)
登录后复制


遇到这类错误,建议不要添加Minitype来解决,因为这样可能会有安全隐患, 如下代码不建议:

'jpeg'   =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpg'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpe'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'png'    =>    array('image/png',  'image/x-png', 'application/octet-stream'),
登录后复制

我的遇到的原因最终定于PHP的扩展 php_fileinfo 没有打开, 打开后测试正常如下:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'image/jpeg' (length=10)
  'tmp_name' => string 'D:\WampServer\tmp\php5262.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)
登录后复制

原文地址:为什么上传图片时,type 显示application/octet-stream 呢? 原因和如何解, 感谢原作者分享。

09-18 10:46