mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 12:17:24 +00:00
fix file upload
This commit is contained in:
@@ -74,7 +74,7 @@ func GetUploadingFilesOlderThan(time time.Time) ([]model.UploadingFile, error) {
|
|||||||
return files, nil
|
return files, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateFile(filename string, description string, resourceID uint, storageID *uint, storageKey string, redirectUrl string, size int64) (*model.File, error) {
|
func CreateFile(filename string, description string, resourceID uint, storageID *uint, storageKey string, redirectUrl string, size int64, userID uint) (*model.File, error) {
|
||||||
if storageID == nil && redirectUrl == "" {
|
if storageID == nil && redirectUrl == "" {
|
||||||
return nil, errors.New("storageID and redirectUrl cannot be both empty")
|
return nil, errors.New("storageID and redirectUrl cannot be both empty")
|
||||||
}
|
}
|
||||||
@@ -87,6 +87,7 @@ func CreateFile(filename string, description string, resourceID uint, storageID
|
|||||||
RedirectUrl: redirectUrl,
|
RedirectUrl: redirectUrl,
|
||||||
StorageKey: storageKey,
|
StorageKey: storageKey,
|
||||||
Size: size,
|
Size: size,
|
||||||
|
UserID: userID,
|
||||||
}
|
}
|
||||||
if err := db.Create(f).Error; err != nil {
|
if err := db.Create(f).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@@ -15,7 +15,9 @@ func SetStatistic(key string, value int64) error {
|
|||||||
|
|
||||||
func GetStatistic(key string) int64 {
|
func GetStatistic(key string) int64 {
|
||||||
statistic := &model.Statistic{}
|
statistic := &model.Statistic{}
|
||||||
if err := db.Where("key = ?", key).First(statistic).Error; err != nil {
|
if err := db.Where(&model.Statistic{
|
||||||
|
Key: key,
|
||||||
|
}).First(statistic).Error; err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return statistic.Value
|
return statistic.Value
|
||||||
|
@@ -232,7 +232,7 @@ func FinishUploadingFile(uid uint, fid uint) (*model.FileView, error) {
|
|||||||
return nil, model.NewInternalServerError("failed to finish uploading file. please re-upload")
|
return nil, model.NewInternalServerError("failed to finish uploading file. please re-upload")
|
||||||
}
|
}
|
||||||
|
|
||||||
dbFile, err := dao.CreateFile(uploadingFile.Filename, uploadingFile.Description, uploadingFile.TargetResourceID, &uploadingFile.TargetStorageID, "", "", uploadingFile.TotalSize)
|
dbFile, err := dao.CreateFile(uploadingFile.Filename, uploadingFile.Description, uploadingFile.TargetResourceID, &uploadingFile.TargetStorageID, "", "", uploadingFile.TotalSize, uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("failed to create file in db: ", err)
|
log.Error("failed to create file in db: ", err)
|
||||||
_ = os.Remove(resultFilePath)
|
_ = os.Remove(resultFilePath)
|
||||||
@@ -305,7 +305,7 @@ func CreateRedirectFile(uid uint, filename string, description string, resourceI
|
|||||||
return nil, model.NewUnAuthorizedError("user cannot upload file")
|
return nil, model.NewUnAuthorizedError("user cannot upload file")
|
||||||
}
|
}
|
||||||
|
|
||||||
file, err := dao.CreateFile(filename, description, resourceID, nil, "", redirectUrl, 0)
|
file, err := dao.CreateFile(filename, description, resourceID, nil, "", redirectUrl, 0, uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("failed to create file in db: ", err)
|
log.Error("failed to create file in db: ", err)
|
||||||
return nil, model.NewInternalServerError("failed to create file in db")
|
return nil, model.NewInternalServerError("failed to create file in db")
|
||||||
@@ -397,6 +397,7 @@ func DownloadFile(ip, fid, cfToken string) (string, string, error) {
|
|||||||
log.Info("cf token verification failed")
|
log.Info("cf token verification failed")
|
||||||
return "", "", model.NewRequestError("cf token verification failed")
|
return "", "", model.NewRequestError("cf token verification failed")
|
||||||
}
|
}
|
||||||
|
log.Info("File download request from: " + ip)
|
||||||
downloads, _ := ipDownloads.Load(ip)
|
downloads, _ := ipDownloads.Load(ip)
|
||||||
if downloads == nil {
|
if downloads == nil {
|
||||||
ipDownloads.Store(ip, 1)
|
ipDownloads.Store(ip, 1)
|
||||||
|
Reference in New Issue
Block a user