gofile: fix failed downloads on newly uploaded objects

The upload routine no longer returns a url to download the object.

This fixes the problem by fetching it if necessary when we attempt to
Open the object.
This commit is contained in:
Nick Craig-Wood 2024-09-08 12:13:06 +01:00
parent 796013dd06
commit 3f7651291b

View File

@ -1469,6 +1469,13 @@ func (o *Object) Open(ctx context.Context, options ...fs.OpenOption) (in io.Read
if o.id == "" { if o.id == "" {
return nil, errors.New("can't download - no id") return nil, errors.New("can't download - no id")
} }
if o.url == "" {
// On upload an Object is returned with no url, so fetch it here if needed
err = o.readMetaData(ctx)
if err != nil {
return nil, fmt.Errorf("read metadata: %w", err)
}
}
fs.FixRangeOption(options, o.size) fs.FixRangeOption(options, o.size)
var resp *http.Response var resp *http.Response
opts := rest.Opts{ opts := rest.Opts{