| 132 | } |
| 133 | |
| 134 | func (f *FileService) SearchUploadWithPage(req request.SearchUploadWithPage) (int64, interface{}, error) { |
| 135 | var ( |
| 136 | files []response.UploadInfo |
| 137 | backData []response.UploadInfo |
| 138 | ) |
| 139 | fileList, err := os.ReadDir(req.Path) |
| 140 | if err != nil { |
| 141 | return 0, files, nil |
| 142 | } |
| 143 | for _, item := range fileList { |
| 144 | if item.IsDir() { |
| 145 | continue |
| 146 | } |
| 147 | fileItem, err := item.Info() |
| 148 | if err != nil { |
| 149 | continue |
| 150 | } |
| 151 | files = append(files, response.UploadInfo{ |
| 152 | CreatedAt: fileItem.ModTime().Format(constant.DateTimeLayout), |
| 153 | Size: int(fileItem.Size()), |
| 154 | Name: item.Name(), |
| 155 | }) |
| 156 | } |
| 157 | |
| 158 | total, start, end := len(files), (req.Page-1)*req.PageSize, req.Page*req.PageSize |
| 159 | if start > total { |
| 160 | backData = make([]response.UploadInfo, 0) |
| 161 | } else { |
| 162 | if end >= total { |
| 163 | end = total |
| 164 | } |
| 165 | backData = files[start:end] |
| 166 | } |
| 167 | return int64(total), backData, nil |
| 168 | } |
| 169 | |
| 170 | func (f *FileService) GetFileTree(op request.FileOption) ([]response.FileTree, error) { |
| 171 | var treeArray []response.FileTree |