IsZipFile 判断是否是Zip文件
(filePath string)
| 166 | |
| 167 | // IsZipFile 判断是否是Zip文件 |
| 168 | func IsZipFile(filePath string) (bool, error) { |
| 169 | fp, err := os.OpenFile(filePath, os.O_RDONLY|syscall.O_NONBLOCK, 0) |
| 170 | if err != nil { |
| 171 | return false, errors.Errorf("open file error") |
| 172 | } |
| 173 | defer fp.Close() |
| 174 | |
| 175 | var magic uint32 = 0 |
| 176 | err = binary.Read(fp, binary.BigEndian, &magic) |
| 177 | if err != nil { |
| 178 | return false, err |
| 179 | } |
| 180 | return magic == constants.ZipArchiveMagicCode, nil |
| 181 | } |
| 182 | |
| 183 | // IsProblemPackage 判断是否是题目包 |
| 184 | func IsProblemPackage(filePath string) (bool, error) { |
no test coverage detected