Ready to add the preview feature.

This commit is contained in:
zicla
2018-11-26 18:12:42 +08:00
parent f83dec5f80
commit 8cede9c087
3 changed files with 18 additions and 19 deletions

View File

@ -43,12 +43,12 @@ func (this *ImageCacheController) RegisterRoutes() map[string]func(writer http.R
return routeMap return routeMap
} }
//查看某个文件的详情。 //查看某个图片缓存的详情。
func (this *ImageCacheController) Detail(writer http.ResponseWriter, request *http.Request) *WebResult { func (this *ImageCacheController) Detail(writer http.ResponseWriter, request *http.Request) *WebResult {
uuid := request.FormValue("uuid") uuid := request.FormValue("uuid")
if uuid == "" { if uuid == "" {
return this.Error("文件的uuid必填") return this.Error("图片缓存的uuid必填")
} }
imageCache := this.imageCacheService.Detail(uuid) imageCache := this.imageCacheService.Detail(uuid)
@ -57,7 +57,7 @@ func (this *ImageCacheController) Detail(writer http.ResponseWriter, request *ht
user := this.checkUser(writer, request) user := this.checkUser(writer, request)
if user.Role != USER_ROLE_ADMINISTRATOR { if user.Role != USER_ROLE_ADMINISTRATOR {
if imageCache.UserUuid != user.Uuid { if imageCache.UserUuid != user.Uuid {
panic("没有权限查看该文件") panic("没有权限查看该图片缓存")
} }
} }
@ -65,7 +65,7 @@ func (this *ImageCacheController) Detail(writer http.ResponseWriter, request *ht
} }
//按照分页的方式获取某个文件夹下文件和子文件夹的列表,通常情况下只有一页。 //按照分页的方式获取某个图片缓存夹下图片缓存和子图片缓存夹的列表,通常情况下只有一页。
func (this *ImageCacheController) Page(writer http.ResponseWriter, request *http.Request) *WebResult { func (this *ImageCacheController) Page(writer http.ResponseWriter, request *http.Request) *WebResult {
//如果是根目录那么就传入root. //如果是根目录那么就传入root.
@ -110,17 +110,17 @@ func (this *ImageCacheController) Page(writer http.ResponseWriter, request *http
return this.Success(pager) return this.Success(pager)
} }
//删除一个文件 //删除一个图片缓存
func (this *ImageCacheController) Delete(writer http.ResponseWriter, request *http.Request) *WebResult { func (this *ImageCacheController) Delete(writer http.ResponseWriter, request *http.Request) *WebResult {
uuid := request.FormValue("uuid") uuid := request.FormValue("uuid")
if uuid == "" { if uuid == "" {
return this.Error("文件的uuid必填") return this.Error("图片缓存的uuid必填")
} }
imageCache := this.imageCacheDao.FindByUuid(uuid) imageCache := this.imageCacheDao.FindByUuid(uuid)
//判断文件的所属人是否正确 //判断图片缓存的所属人是否正确
user := this.checkUser(writer, request) user := this.checkUser(writer, request)
if user.Role != USER_ROLE_ADMINISTRATOR && imageCache.UserUuid != user.Uuid { if user.Role != USER_ROLE_ADMINISTRATOR && imageCache.UserUuid != user.Uuid {
return this.Error(CODE_WRAPPER_UNAUTHORIZED) return this.Error(CODE_WRAPPER_UNAUTHORIZED)
@ -131,12 +131,12 @@ func (this *ImageCacheController) Delete(writer http.ResponseWriter, request *ht
return this.Success("删除成功!") return this.Success("删除成功!")
} }
//删除一系列文件 //删除一系列图片缓存
func (this *ImageCacheController) DeleteBatch(writer http.ResponseWriter, request *http.Request) *WebResult { func (this *ImageCacheController) DeleteBatch(writer http.ResponseWriter, request *http.Request) *WebResult {
uuids := request.FormValue("uuids") uuids := request.FormValue("uuids")
if uuids == "" { if uuids == "" {
return this.Error("文件的uuids必填") return this.Error("图片缓存的uuids必填")
} }
uuidArray := strings.Split(uuids, ",") uuidArray := strings.Split(uuids, ",")
@ -145,7 +145,7 @@ func (this *ImageCacheController) DeleteBatch(writer http.ResponseWriter, reques
imageCache := this.imageCacheDao.FindByUuid(uuid) imageCache := this.imageCacheDao.FindByUuid(uuid)
//判断文件的所属人是否正确 //判断图片缓存的所属人是否正确
user := this.checkUser(writer, request) user := this.checkUser(writer, request)
if user.Role != USER_ROLE_ADMINISTRATOR && imageCache.UserUuid != user.Uuid { if user.Role != USER_ROLE_ADMINISTRATOR && imageCache.UserUuid != user.Uuid {
return this.Error(CODE_WRAPPER_UNAUTHORIZED) return this.Error(CODE_WRAPPER_UNAUTHORIZED)

View File

@ -140,7 +140,7 @@ func (this *ImageCacheDao) Delete(imageCache *ImageCache) {
err := os.Remove(CONFIG.MatterPath + imageCache.Path) err := os.Remove(CONFIG.MatterPath + imageCache.Path)
if err != nil { if err != nil {
LogError(fmt.Sprintf("删除磁盘上的文件出错,不做任何处理")) LogError(fmt.Sprintf("删除磁盘上的文件出错,不做任何处理 %s", err.Error()))
} }
} }

View File

@ -8,7 +8,6 @@ import (
"mime/multipart" "mime/multipart"
"net/http" "net/http"
"net/textproto" "net/textproto"
"net/url"
"os" "os"
"path/filepath" "path/filepath"
"regexp" "regexp"
@ -439,13 +438,13 @@ func (this *MatterService) DownloadFile(writer http.ResponseWriter, request *htt
defer diskFile.Close() defer diskFile.Close()
//如果是图片或者文本或者视频就直接打开。其余的一律以下载形式返回。 //如果是图片或者文本或者视频就直接打开。其余的一律以下载形式返回。
fileName := url.QueryEscape(filename) //fileName := url.QueryEscape(filename)
mimeType := GetMimeType(fileName) //mimeType := GetMimeType(fileName)
if strings.Index(mimeType, "image") != 0 && //if strings.Index(mimeType, "image") != 0 &&
strings.Index(mimeType, "text") != 0 && // strings.Index(mimeType, "text") != 0 &&
strings.Index(mimeType, "video") != 0 { // strings.Index(mimeType, "video") != 0 {
writer.Header().Set("content-disposition", "attachment; filename=\""+fileName+"\"") // writer.Header().Set("content-disposition", "attachment; filename=\""+fileName+"\"")
} //}
//显示文件大小。 //显示文件大小。
fileInfo, err := diskFile.Stat() fileInfo, err := diskFile.Stat()