diff --git a/widgets/form/api.go b/widgets/form/api.go index cbe2de0b..7ab5f43f 100644 --- a/widgets/form/api.go +++ b/widgets/form/api.go @@ -149,7 +149,7 @@ func exportAPI() error { Path: "/:id/download/:field", Method: "GET", Process: "yao.form.Download", - In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token"}, + In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token", "$query.app"}, Out: api.Out{ Status: 200, Body: "{{content}}", diff --git a/widgets/form/process.go b/widgets/form/process.go index 36ebf9f6..7ccd2e2e 100644 --- a/widgets/form/process.go +++ b/widgets/form/process.go @@ -84,6 +84,7 @@ func processDownload(process *gouProcess.Process) interface{} { field := process.ArgsString(1) file := process.ArgsString(2) tokenString := process.ArgsString(3) + isAppRoot := process.ArgsInt(4, 0) // checking ext := fs.ExtName(file) @@ -104,6 +105,11 @@ func processDownload(process *gouProcess.Process) interface{} { name = form.Action.Download.Process } + // The root path of the application the Upload Component props.appRoot=true + if isAppRoot == 1 { + name = "fs.app.Download" + } + // Create process p, err := gouProcess.Of(name, file) if err != nil { diff --git a/widgets/table/api.go b/widgets/table/api.go index 99bfea4f..33b4802f 100644 --- a/widgets/table/api.go +++ b/widgets/table/api.go @@ -187,7 +187,7 @@ func exportAPI() error { Path: "/:id/download/:field", Method: "GET", Process: "yao.table.Download", - In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token"}, + In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token", "$query.app"}, Out: api.Out{ Status: 200, Body: "{{content}}", diff --git a/widgets/table/process.go b/widgets/table/process.go index 2b899fe3..09039033 100644 --- a/widgets/table/process.go +++ b/widgets/table/process.go @@ -69,6 +69,7 @@ func processDownload(process *gouProcess.Process) interface{} { field := process.ArgsString(1) file := process.ArgsString(2) tokenString := process.ArgsString(3) + isAppRoot := process.ArgsInt(4, 0) // checking ext := fs.ExtName(file) @@ -89,6 +90,11 @@ func processDownload(process *gouProcess.Process) interface{} { name = tab.Action.Download.Process } + // The root path of the application the Upload Component props.appRoot=true + if isAppRoot == 1 { + name = "fs.app.Download" + } + // Create process p, err := gouProcess.Of(name, file) if err != nil {