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("文件大小不正确")
|
||||
}
|
||||
|
||||
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.ExpireTime = time.Now()
|
||||
|
@ -37,7 +37,7 @@ func InstallDatabase() {
|
||||
matter := &Matter{}
|
||||
hasTable = db.HasTable(matter)
|
||||
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)
|
||||
if db.Error != nil {
|
||||
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)
|
||||
file, handler, err := request.FormFile("file")
|
||||
this.PanicError(err)
|
||||
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)
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ type Matter struct {
|
||||
Puuid string `json:"puuid"`
|
||||
UserUuid string `json:"userUuid"`
|
||||
Dir bool `json:"dir"`
|
||||
Alien bool `json:"alien"`
|
||||
Name string `json:"name"`
|
||||
Md5 string `json:"md5"`
|
||||
Size int64 `json:"size"`
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
"os"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
)
|
||||
|
||||
//@Service
|
||||
@ -59,11 +58,12 @@ func (this *MatterService) GetDirUuid(userUuid string, dir string) string {
|
||||
|
||||
matter := this.matterDao.FindByUserUuidAndPuuidAndNameAndDirTrue(userUuid, puuid, name)
|
||||
if matter == nil {
|
||||
//创建一个文件夹。
|
||||
//创建一个文件夹。这里一般都是通过alien接口来创建的文件夹。
|
||||
matter = &Matter{
|
||||
Puuid: puuid,
|
||||
UserUuid: userUuid,
|
||||
Dir: true,
|
||||
Alien: true,
|
||||
Name: name,
|
||||
}
|
||||
matter = this.matterDao.Create(matter)
|
||||
@ -76,8 +76,8 @@ func (this *MatterService) GetDirUuid(userUuid string, dir string) string {
|
||||
}
|
||||
|
||||
//开始上传文件
|
||||
//上传文件
|
||||
func (this *MatterService) Upload(file multipart.File, user *User, puuid string, filename string, privacy bool) *Matter {
|
||||
//上传文件. alien表明文件是否是应用使用的文件。
|
||||
func (this *MatterService) Upload(file multipart.File, user *User, puuid string, filename string, privacy bool, alien bool) *Matter {
|
||||
|
||||
//获取文件应该存放在的物理路径的绝对路径和相对路径。
|
||||
absolutePath, relativePath := GetUserFilePath(user.Username)
|
||||
@ -104,6 +104,7 @@ func (this *MatterService) Upload(file multipart.File, user *User, puuid string,
|
||||
Puuid: puuid,
|
||||
UserUuid: user.Uuid,
|
||||
Dir: false,
|
||||
Alien: alien,
|
||||
Name: filename,
|
||||
Md5: "",
|
||||
Size: written,
|
||||
|
Reference in New Issue
Block a user