Add a parameter named alien.
This commit is contained in:
@ -239,7 +239,7 @@ func (this *AlienController) Upload(writer http.ResponseWriter, request *http.Re
|
|||||||
panic("文件大小不正确")
|
panic("文件大小不正确")
|
||||||
}
|
}
|
||||||
|
|
||||||
matter := this.matterService.Upload(file, user, uploadToken.FolderUuid, uploadToken.Filename, uploadToken.Privacy)
|
matter := this.matterService.Upload(file, user, uploadToken.FolderUuid, uploadToken.Filename, uploadToken.Privacy, true)
|
||||||
|
|
||||||
//更新这个uploadToken的信息.
|
//更新这个uploadToken的信息.
|
||||||
uploadToken.ExpireTime = time.Now()
|
uploadToken.ExpireTime = time.Now()
|
||||||
|
@ -37,7 +37,7 @@ func InstallDatabase() {
|
|||||||
matter := &Matter{}
|
matter := &Matter{}
|
||||||
hasTable = db.HasTable(matter)
|
hasTable = db.HasTable(matter)
|
||||||
if !hasTable {
|
if !hasTable {
|
||||||
createMatter := "CREATE TABLE `tank10_matter` (`uuid` char(36) NOT NULL,`puuid` varchar(45) DEFAULT NULL COMMENT '上一级的uuid',`user_uuid` char(36) DEFAULT NULL COMMENT '上传的用户id',`dir` tinyint(1) DEFAULT NULL COMMENT '是否是文件夹',`name` varchar(255) DEFAULT NULL COMMENT '文件名称',`md5` varchar(45) DEFAULT NULL COMMENT '文件的md5值',`size` bigint(20) DEFAULT '0' COMMENT '文件大小',`privacy` tinyint(1) DEFAULT '0' COMMENT '文件是否是公有的',`path` varchar(255) DEFAULT NULL,`sort` bigint(20) DEFAULT NULL,`modify_time` timestamp NULL DEFAULT NULL,`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`uuid`),UNIQUE KEY `id_UNIQUE` (`uuid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='file表';"
|
createMatter := "CREATE TABLE `tank10_matter` (`uuid` char(36) NOT NULL,`puuid` varchar(45) DEFAULT NULL COMMENT '上一级的uuid',`user_uuid` char(36) DEFAULT NULL COMMENT '上传的用户id',`dir` tinyint(1) DEFAULT '0' COMMENT '是否是文件夹',`alien` tinyint(1) DEFAULT '0',`name` varchar(255) DEFAULT NULL COMMENT '文件名称',`md5` varchar(45) DEFAULT NULL COMMENT '文件的md5值',`size` bigint(20) DEFAULT '0' COMMENT '文件大小',`privacy` tinyint(1) DEFAULT '0' COMMENT '文件是否是公有的',`path` varchar(255) DEFAULT NULL,`sort` bigint(20) DEFAULT NULL,`modify_time` timestamp NULL DEFAULT NULL,`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`uuid`),UNIQUE KEY `id_UNIQUE` (`uuid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='file表';"
|
||||||
db = db.Exec(createMatter)
|
db = db.Exec(createMatter)
|
||||||
if db.Error != nil {
|
if db.Error != nil {
|
||||||
LogPanic(db.Error)
|
LogPanic(db.Error)
|
||||||
|
@ -216,12 +216,18 @@ func (this *MatterController) Upload(writer http.ResponseWriter, request *http.R
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alienStr := request.FormValue("alien")
|
||||||
|
alien := false
|
||||||
|
if alienStr == "true" {
|
||||||
|
alien = true
|
||||||
|
}
|
||||||
|
|
||||||
request.ParseMultipartForm(32 << 20)
|
request.ParseMultipartForm(32 << 20)
|
||||||
file, handler, err := request.FormFile("file")
|
file, handler, err := request.FormFile("file")
|
||||||
this.PanicError(err)
|
this.PanicError(err)
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
|
|
||||||
matter := this.matterService.Upload(file, user, puuid, handler.Filename, true)
|
matter := this.matterService.Upload(file, user, puuid, handler.Filename, true, alien)
|
||||||
|
|
||||||
return this.Success(matter)
|
return this.Success(matter)
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ type Matter struct {
|
|||||||
Puuid string `json:"puuid"`
|
Puuid string `json:"puuid"`
|
||||||
UserUuid string `json:"userUuid"`
|
UserUuid string `json:"userUuid"`
|
||||||
Dir bool `json:"dir"`
|
Dir bool `json:"dir"`
|
||||||
|
Alien bool `json:"alien"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Md5 string `json:"md5"`
|
Md5 string `json:"md5"`
|
||||||
Size int64 `json:"size"`
|
Size int64 `json:"size"`
|
||||||
|
@ -6,7 +6,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
//@Service
|
//@Service
|
||||||
@ -59,11 +58,12 @@ func (this *MatterService) GetDirUuid(userUuid string, dir string) string {
|
|||||||
|
|
||||||
matter := this.matterDao.FindByUserUuidAndPuuidAndNameAndDirTrue(userUuid, puuid, name)
|
matter := this.matterDao.FindByUserUuidAndPuuidAndNameAndDirTrue(userUuid, puuid, name)
|
||||||
if matter == nil {
|
if matter == nil {
|
||||||
//创建一个文件夹。
|
//创建一个文件夹。这里一般都是通过alien接口来创建的文件夹。
|
||||||
matter = &Matter{
|
matter = &Matter{
|
||||||
Puuid: puuid,
|
Puuid: puuid,
|
||||||
UserUuid: userUuid,
|
UserUuid: userUuid,
|
||||||
Dir: true,
|
Dir: true,
|
||||||
|
Alien: true,
|
||||||
Name: name,
|
Name: name,
|
||||||
}
|
}
|
||||||
matter = this.matterDao.Create(matter)
|
matter = this.matterDao.Create(matter)
|
||||||
@ -76,8 +76,8 @@ func (this *MatterService) GetDirUuid(userUuid string, dir string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//开始上传文件
|
//开始上传文件
|
||||||
//上传文件
|
//上传文件. alien表明文件是否是应用使用的文件。
|
||||||
func (this *MatterService) Upload(file multipart.File, user *User, puuid string, filename string, privacy bool) *Matter {
|
func (this *MatterService) Upload(file multipart.File, user *User, puuid string, filename string, privacy bool, alien bool) *Matter {
|
||||||
|
|
||||||
//获取文件应该存放在的物理路径的绝对路径和相对路径。
|
//获取文件应该存放在的物理路径的绝对路径和相对路径。
|
||||||
absolutePath, relativePath := GetUserFilePath(user.Username)
|
absolutePath, relativePath := GetUserFilePath(user.Username)
|
||||||
@ -104,6 +104,7 @@ func (this *MatterService) Upload(file multipart.File, user *User, puuid string,
|
|||||||
Puuid: puuid,
|
Puuid: puuid,
|
||||||
UserUuid: user.Uuid,
|
UserUuid: user.Uuid,
|
||||||
Dir: false,
|
Dir: false,
|
||||||
|
Alien: alien,
|
||||||
Name: filename,
|
Name: filename,
|
||||||
Md5: "",
|
Md5: "",
|
||||||
Size: written,
|
Size: written,
|
||||||
|
Reference in New Issue
Block a user