web client: try to prevent browsers from caching requests

Fixes #493
This commit is contained in:
Nicola Murino 2021-08-03 19:58:03 +02:00
parent 9541843ff7
commit 0503215e7a
No known key found for this signature in database
GPG key ID: 2F1FB59433D5A8CB
2 changed files with 7 additions and 2 deletions

View file

@ -80,6 +80,7 @@ type filesPage struct {
CanCreateDirs bool
CanRename bool
CanDelete bool
CanDownload bool
Error string
Paths []dirMapping
}
@ -100,7 +101,7 @@ type credentialsPage struct {
}
func getFileObjectURL(baseDir, name string) string {
return fmt.Sprintf("%v?path=%v", webClientFilesPath, url.QueryEscape(path.Join(baseDir, name)))
return fmt.Sprintf("%v?path=%v&_=%v", webClientFilesPath, url.QueryEscape(path.Join(baseDir, name)), time.Now().UTC().Unix())
}
func getFileObjectModTime(t time.Time) string {
@ -211,6 +212,7 @@ func renderFilesPage(w http.ResponseWriter, r *http.Request, dirName, error stri
CanCreateDirs: user.CanAddDirsFromWeb(dirName),
CanRename: user.CanRenameFromWeb(dirName, dirName),
CanDelete: user.CanDeleteFromWeb(dirName),
CanDownload: user.HasPerm(dataprovider.PermDownload, dirName),
}
paths := []dirMapping{}
if dirName != "/" {

View file

@ -467,7 +467,8 @@
var files = fixedEncodeURIComponent(JSON.stringify(filesArray));
var downloadURL = '{{.DownloadURL}}';
var currentDir = '{{.CurrentDir}}';
window.location = `${downloadURL}?path=${currentDir}&files=${files}`;
var ts = new Date().getTime().toString();
window.location = `${downloadURL}?path=${currentDir}&files=${files}&_=${ts}`;
},
enabled: false
};
@ -614,7 +615,9 @@
"initComplete": function (settings, json) {
table.button().add(0, 'refresh');
table.button().add(0, 'pageLength');
{{if .CanDownload}}
table.button().add(0, 'download');
{{end}}
{{if .CanDelete}}
table.button().add(0, 'delete');
{{end}}