NSURLConnection 不下载名称中带有空格的文件

发布于 2024-11-17 16:51:54 字数 421 浏览 3 评论 0 原文

我正在将图像加载到 iPhone 上的图库中,但遇到了问题。显然,当尝试从互联网下载图像时,脚本中的某些内容对文件名中的空格不满意。

这是连接线。

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]] delegate:self];

我在 NSURL 中传递了一个 NSString。它适用于所有没有空格的照片。

邪恶照片示例: 拇指_WJ (16).jpg 拇指_WJ (25).jpg

现在我知道我可以返回并更新所有照片、更新数据库并更改脚本,这样就不再添加空格...但我们正在谈论数千张照片。

和建议?

I am working on loading images into a gallery on the iPhone and running into an issue. It is apparent that something in the script isn't happy with spaces being in filename's when trying to download the images off of the internet.

This is the connection line.

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]] delegate:self];

And I pass an NSString in the NSURL. It works on all photos that don't have spaces.

Example of evil photos:
thumbs_WJ (16).jpg
thumbs_WJ (25).jpg

Now I know I could go back and update all the photos, update the database, and change the script so it doesn't add spaces anymore...but we are talking about thousands of photos.

And suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夏末染殇 2024-11-24 16:51:54

你需要做字符串:

str =[str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

you need to do string:

str =[str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
夏尔 2024-11-24 16:51:54

对要作为参数包含的文本使用 NSStringstringByAddingPercentEscapesUsingEncoding: 方法。

来自 Apple 文档

stringByAddingPercentEscapesUsingEncoding:

使用给定编码返回接收者的表示形式,以确定将接收者转换为合法 URL 字符串所需的转义百分比。

如果您的字符串是“普通”字符串,则可以使用 NSUTF8StringEncoding 作为编码。否则,请指定字符串所在的编码。

Use NSString's stringByAddingPercentEscapesUsingEncoding: method on the text you want to include as an argument.

From Apple docs:

stringByAddingPercentEscapesUsingEncoding:

Returns a representation of the receiver using a given encoding to determine the percent escapes necessary to convert the receiver into a legal URL string.

If your string is a "normal" string, you can use NSUTF8StringEncoding as encoding. Otherwise, specify the encoding your string is in.

扬花落满肩 2024-11-24 16:51:54

只需将 URL 字符串中的空格替换为“%20”即可。

Just replace spaces with "%20" in your urlstring.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文