Загрузить файл в папку в iPhone
Я новичок в iPhone,
Я сделал приложение, в котором, когда пользователь загружает все, что он загружается в DocumentDirectory
Я хочу скачать внутри моей папки, которую я создал в DocumentDirectory
Как этого добиться?
Я думал, что я буду загружать файл в мой DocumentDirectory
и я перенесу этот файл в свою папку внутри DocumentDirectory
,
Это хорошая практика?
Вот мой фрагмент кода, но я все еще не могу переместить свой файл.
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *file = [NSString stringWithString:[url absoluteString]];
NSURL *fileURL = [NSURL URLWithString:file];
NSURLRequest *req = [NSURLRequest requestWithURL:fileURL];
[NSURLConnection connectionWithRequest:req delegate:self];
NSString *DestPath=[[[SourcePath stringByAppendingString:@"/"]stringByAppendingString:BookCateg]stringByAppendingString:@"/"];
if ([fm copyItemAtPath:SourcePath toPath:DestPath error:&error])
{
NSLog(@"Success !");
}
else{
NSLog(@"Fail to Move!");
}
}
Мой журнал показывает Fail to Move!
Любая помощь будет оценена.
3 ответа
Вы должны напрямую загрузить файл в папку каталога документов, для этого вам нужно создать каталог, как предложил @iPhone Developer, и записать файл в этот каталог.
Например:
NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/File"];
error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
[[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];
NSURL *url = [NSURL URLWithString:@"http://www.ndqatar.mobi/18December/admin/rington/133/QatarDay13.mp3"];
NSData *data = [NSData dataWithContentsOfURL:url];
if(data)
{
stringPath = [stringPath stringByAppendingPathComponent:[url lastPathComponent]];
[data writeToFile:stringPath atomically:YES];
}
Если вы хотите, вы можете переместить файл так:
NSString *destPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/Dest"];
error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:destPath])
[[NSFileManager defaultManager] createDirectoryAtPath:destPath withIntermediateDirectories:NO attributes:nil error:&error];
destPath = [destPath stringByAppendingPathComponent:[stringPath lastPathComponent];];
[[NSFileManager defaultManager] copyItemAtPath:stringPath toPath:destPath error:&error];
Вы можете использовать следующий код:
NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/Your Folder Name"];
error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
[[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];
NSString *DestPath=[stringPath stringByAppendingString:@"/Your file Name"];
Вы используете строку, добавляя строку вместо строки, добавляя компонент пути, это добавит путь, и ваш файл будет перемещен туда
Наслаждайтесь кодированием
Framework: ReactJS
Library: Material-UI
Version: 4.0
Я пытаюсь использовать https://material-ui.com/api/button/ (добавить ссылку в href кнопки), и он работает на ipad/iphone/ios safari.
import Button from '@material-ui/core/Button';
<Button href={add_your_link_here} />