gpt4 book ai didi

iphone - 如何将参数传递给 fileURL

转载 作者:行者123 更新时间:2023-12-01 19:24:46 26 4
gpt4 key购买 nike

我正在尝试以通常的方式在文件路径的 NSURL 中传递参数:

(fileURL)?arg1=val1&arg2=val2

问题是我不断从 UIWebView 收到以下错误。 :
Failed to load webpage with error: The requested URL was not found on this server.

当我删除参数后缀时,一切正常。 Apple 上的文档说明该方法

+ (id)fileURLWithPath:(NSString *)path

像这样工作: "path: The path that the NSURL object will represent. path should be a valid system path..."
是否可以将参数添加到 fileURL?如果是这样,我该怎么做?

顺便说一句,如果我尝试使用 Javascript 调用从 UIWebView 加载带有参数的本地 URL 文件,我就成功了:
document.location = url;

我尝试从 native 代码中找到解决方案...

最佳答案

好的,我看到了你的问题。您不能添加 ?arg1=something&arg2=...到路径,因为可能有一个这样命名的文件,所以 NSURL 转义了 ?字符以确保它用作路径,而不是查询字符串的一部分(? 之后的任何内容都称为 URL 中的查询)。

要正确执行此操作,您需要通过提供正确转义的字符串来设置 URL。

NSString *path = @"/Users/mike/file.html"; 
NSString *query = @"option1=5&option2=hello"; // for example

NSString *encodedPath = [path stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"file://%@?%@",
encodedPath,
query]];

关于iphone - 如何将参数传递给 fileURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com