我有一个像ANC和SHO.pdf这样的网址
当我像这样编码URL时:
NSString *escapedString = [PDFPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
Run Code Online (Sandbox Code Playgroud)
现在,当我使用这个URL它不起作用,我感觉它与&有关,因为当我尝试另一个文件时,它完美地工作,我能够加载PDF,但文件与&我不是.
我究竟做错了什么?
这是escapedString的输出
escapedString __NSCFString * @"Ancaster%5CANC%20&%20SHO%20-%20Laundry%20Closets%20to%20be%20Checked.pdf" 0x16ea33c0
Run Code Online (Sandbox Code Playgroud)
然后我用它来调用一个方法:
NSArray *byteArray = [dataSource.areaData GetPDFFileData:[NSString stringWithFormat:@"%@",escapedString]];
Run Code Online (Sandbox Code Playgroud)
这是方法:
-(NSArray *)GetPDFFileData:(NSString *)PDFFile
{
NSString *FileBrowserRequestString = [NSString stringWithFormat:@"%@?PDFFile=%@",kIP,PDFFile];
NSURL *JSONURL = [NSURL URLWithString:FileBrowserRequestString];
NSURLResponse* response = nil;
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:JSONURL];
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
if(data == nil)
return nil;
NSError *myError;
NSArray *tableArray = [[NSArray alloc]initWithArray:[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&myError]];
return tableArray;
}
Run Code Online (Sandbox Code Playgroud)
Hon*_*uan 11
[NSCharacterSet URLHostAllowedCharacterSet]
包含以下字符:
!$&'()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz~
Run Code Online (Sandbox Code Playgroud)
其中包含' &
',所以
NSString *escapedString = [PDFPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
Run Code Online (Sandbox Code Playgroud)
不会为你逃脱'&',那么它不是URLEncoded.
看到问题如何编码的URL字符串.
归档时间: |
|
查看次数: |
7761 次 |
最近记录: |