如何解决node.js aws-sdk访问S3目录,名称中带有空格
我正在尝试访问目录名称为assets/storage/media/Hybrid LED Bulb/replace-icon.png
的S3中的对象
但是,当我尝试在我的node.js代码中访问它时,它将使用此路径assets/storage/media/Hybrid%20LED%20Bulb/replace-icon.png
我试图用encodeURI()
来包装它,但是这个使它assets/storage/media/Hybrid%2520LED%2520Bulb/replace-icon.mobile.png
在node.js中处理此问题的正确方法是什么?
解决方法
我知道在某些情况下,空格由function freq(char: char; username : String): Integer;
var
i,auxfreq: Integer;
begin
auxfreq:= 0;
for i:= 1 to length(username) do
if char = username[i] then
auxfreq:= auxfreq + 1;
//writeln(freq);
freq:= auxfreq;
end;
function OddUserName(username : String): Boolean;
var
usernameaux : String;
length_usernameaux,i : Integer;
Result : Boolean;
begin
Result:= false;
usernameaux:= username;
i:= 0;
repeat
i +=1;
length_usernameaux:= length(usernameaux);
if freq(usernameaux[i],usernameaux) <> 1 then
delete(usernameaux,i,1);
until i = length_usernameaux;
// length(usernameaux) is supposed to be the number of the distinct characters.
{if length(usernameaux) mod 2 <> 0 then // you will have to ignore this.
Result:= true; // odd}
//writeln(usernameaux);
//writeln(length(usernameaux));
OddUserName:= Result; // ignore this too
end;
代替。在将S3键/路径参数移交给函数之前,请尝试替换空格。我没有测试过,但认为值得一试。
decodeURI(uri)
帮助解决了我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。