修复:已共的享文件夹里新增文件,无法共享访问的问题

This commit is contained in:
jmal 2021-02-20 11:57:28 +08:00
parent bbfef4481b
commit af161e63f2
5 changed files with 27 additions and 14 deletions

View File

@ -52,7 +52,7 @@ export default {
let url = fileConfig.previewUrl(this.$store.state.user.name, newFile, this.$store.getters.token) let url = fileConfig.previewUrl(this.$store.state.user.name, newFile, this.$store.getters.token)
console.log(url) console.log(url)
if(!this.$store.state.user.token){ if(!this.$store.state.user.token){
url = fileConfig.publicPreviewUrl(newFile.id); url = fileConfig.publicPreviewUrl(newFile.id, window.shareId);
} }
let music = newFile.music let music = newFile.music
let fileName = newFile.name.substring(0,newFile.name.length - newFile.suffix.length-1) let fileName = newFile.name.substring(0,newFile.name.length - newFile.suffix.length-1)

View File

@ -91,7 +91,7 @@
if(!element.isFolder && element.contentType.startsWith('image')){ if(!element.isFolder && element.contentType.startsWith('image')){
let url = fileConfig.previewUrl(this.$store.state.user.name, element, this.$store.getters.token) let url = fileConfig.previewUrl(this.$store.state.user.name, element, this.$store.getters.token)
if(this.shareId){ if(this.shareId){
url = fileConfig.publicPreviewUrl(element.id); url = fileConfig.publicPreviewUrl(element.id, window.shareId);
} }
this.images.push(url) this.images.push(url)
if(this.file.id === element.id){ if(this.file.id === element.id){

View File

@ -101,7 +101,7 @@ export default {
if(visible){ if(visible){
let url = fileConfig.previewUrl(this.$store.state.user.name, this.file, this.$store.getters.token) let url = fileConfig.previewUrl(this.$store.state.user.name, this.file, this.$store.getters.token)
if(this.shareId){ if(this.shareId){
url = fileConfig.publicPreviewUrl(this.file.id); url = fileConfig.publicPreviewUrl(this.file.id, window.shareId);
} }
this.playerOptions.sources = [{ this.playerOptions.sources = [{
//类型 //类型

View File

@ -3,9 +3,11 @@ import fileApi from '@/api/file-api'
export default { export default {
baseUrl: '/api', baseUrl: '/api',
// webDAV的url
webDAVUrl: function(username) { webDAVUrl: function(username) {
return window.location.origin + `${this.baseUrl}/webDAV/${username}` return window.location.origin + `${this.baseUrl}/webDAV/${username}`
}, },
// 预览文件的url
previewUrl: function(username, file, token) { previewUrl: function(username, file, token) {
if (token) { if (token) {
return `${this.baseUrl}/file/${username}${file.path}${file.name}?jmal-token=${token}` return `${this.baseUrl}/file/${username}${file.path}${file.name}?jmal-token=${token}`
@ -13,40 +15,50 @@ export default {
return `${this.baseUrl}/file/${username}${file.path}${file.name}` return `${this.baseUrl}/file/${username}${file.path}${file.name}`
} }
}, },
// mardown里上传图片后的图片预览地址
mardownPreviewUrl: function (path){ mardownPreviewUrl: function (path){
return window.location.origin + `${this.baseUrl}${path}` return window.location.origin + `${this.baseUrl}${path}`
}, },
publicPreviewUrl: function(fileId) { // 预览文件
return `${this.baseUrl}/public/preview/${fileId}`
},
preview: function(username, file, token) { preview: function(username, file, token) {
const url = this.previewUrl(username, file, token) const url = this.previewUrl(username, file, token)
window.open(url, '_blank') window.open(url, '_blank')
}, },
publicPreview: function(fileIds) { // 下载文件
const url = this.publicPreviewUrl(fileIds)
window.open(url, '_blank')
},
download: function(username, file, token) { download: function(username, file, token) {
fileApi.isAllowDownload().then(() => { fileApi.isAllowDownload().then(() => {
let url = `${this.baseUrl}/file/${username}${file.path}${file.name}?jmal-token=${token}&o=download` let url = `${this.baseUrl}/file/${username}${file.path}${file.name}?jmal-token=${token}&o=download`
window.open(url, '_self') window.open(url, '_self')
}) })
}, },
publicDownload: function(shareId, file) { // 打包下载文件
window.open(this.publicDownloadUrl(shareId, file), '_self')
},
packageDownload: function(fileIds, token) { packageDownload: function(fileIds, token) {
fileApi.isAllowDownload().then(() => { fileApi.isAllowDownload().then(() => {
window.open(`${this.baseUrl}/packageDownload?fileIds=${fileIds}&jmal-token=${token}`, '_self') window.open(`${this.baseUrl}/packageDownload?fileIds=${fileIds}&jmal-token=${token}`, '_self')
}) })
}, },
// 共享文件下载
publicDownload: function(shareId, file) {
window.open(this.publicDownloadUrl(shareId, file), '_self')
},
// 共享文件预览
publicPreview: function(fileId, shareId) {
const url = this.publicPreviewUrl(fileId, shareId)
window.open(url, '_blank')
},
// 共享文件预览Url
publicPreviewUrl: function(fileId, shareId) {
return `${this.baseUrl}/public/s/preview/${fileId}/${shareId}`
},
// 共享文件打包下载
publicPackageDownload: function(shareId, fileIds) { publicPackageDownload: function(shareId, fileIds) {
window.open(this.publicPackageDownloadUrl(shareId, fileIds), '_self') window.open(this.publicPackageDownloadUrl(shareId, fileIds), '_self')
}, },
// 共享文件下载Url
publicDownloadUrl: function(shareId, file) { publicDownloadUrl: function(shareId, file) {
return window.location.origin + `${this.baseUrl}/public/s/download/${file.id}/${shareId}` return window.location.origin + `${this.baseUrl}/public/s/download/${file.id}/${shareId}`
}, },
// 共享文件打包下载Url
publicPackageDownloadUrl: function(shareId, fileIds) { publicPackageDownloadUrl: function(shareId, fileIds) {
return window.location.origin + `${this.baseUrl}/public/s/packageDownload?shareId=${shareId}&fileIds=${fileIds}` return window.location.origin + `${this.baseUrl}/public/s/packageDownload?shareId=${shareId}&fileIds=${fileIds}`
}, },

View File

@ -896,6 +896,7 @@
}, },
// 点击文件或文件夹 // 点击文件或文件夹
fileClick(row) { fileClick(row) {
window.shareId = this.shareId
if (row.isFolder) { if (row.isFolder) {
// 打开文件夹 // 打开文件夹
const item = {} const item = {}
@ -933,7 +934,7 @@
return return
} }
// 打开文件 // 打开文件
fileConfig.publicPreview(row.id) fileConfig.publicPreview(row.id, this.shareId)
} }
} }
} }