From 171ede706f8ae4894151e943c63ac522f3a73664 Mon Sep 17 00:00:00 2001 From: chenjia404 Date: Thu, 21 Mar 2024 02:14:34 +0800 Subject: [PATCH] fix:url escape filename This resolves #6027 --- drivers/ipfs_api/driver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/ipfs_api/driver.go b/drivers/ipfs_api/driver.go index cf21e62da59..f6f81305e20 100644 --- a/drivers/ipfs_api/driver.go +++ b/drivers/ipfs_api/driver.go @@ -62,7 +62,7 @@ func (d *IPFS) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([] for _, file := range dirs { gateurl := *d.gateURL gateurl.Path = "ipfs/" + file.Hash - gateurl.RawQuery = "filename=" + file.Name + gateurl.RawQuery = "filename=" + url.PathEscape(file.Name) objlist = append(objlist, &model.ObjectURL{ Object: model.Object{ID: file.Hash, Name: file.Name, Size: int64(file.Size), IsFolder: file.Type == 1}, Url: model.Url{Url: gateurl.String()}, @@ -73,7 +73,7 @@ func (d *IPFS) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([] } func (d *IPFS) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) { - link := d.Gateway + "/ipfs/" + file.GetID() + "/?filename=" + file.GetName() + link := d.Gateway + "/ipfs/" + file.GetID() + "/?filename=" + url.PathEscape(file.GetName()) return &model.Link{URL: link}, nil }