如果os.Create出现The system cannot find the path specified.需要先创建目录:os.MkdirAll(filePath, os.ModeDir)
filePath := "./files/export"
filename := ("朋友圈任务完成明细" + time.Now().Format("-20060102150405")) + ".xlsx"
filename = filepath.Join(filePath, filename)
err = os.MkdirAll(filePath, os.ModeDir)
if err != nil {
log.GetLogger().Error("TaskCompletionDetails.API.rsp.MkdirAll", zap.Error(err), zap.String("uri", uri), zap.Any("param", param), zap.String("filename", filename))
return "", errors.WrapResponse(err, 400, "创建目录失败", err.Error(), 400)
}
out, err := os.Create(filename)
if err != nil {
log.GetLogger().Error("TaskCompletionDetails.API.rsp.Create", zap.Error(err), zap.String("uri", uri), zap.Any("filename", filename))
return "", errors.WrapResponse(err, 400, "创建文件失败", err.Error(), 400)
}
defer out.Close()
if _, err = io.Copy(out, strings.NewReader(string(res))); err != nil {
log.GetLogger().Error("TaskCompletionDetails.API.rsp.Copy", zap.Error(err), zap.String("uri", uri), zap.Any("filename", filename))
return "", errors.WrapResponse(err, 400, err.Error(), err.Error(), 400)
}