WebView ont une méthode appeléeComment autoriser le téléchargement de fichiers avec WebView dans Cocoa?
- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id <WebOpenPanelResultListener>)resultListener
Mais il y a presque 0 doc et détails à ce sujet. À l'intérieur, j'affiche une boîte de dialogue ouverte et obtient le nom du fichier sélectionné.
Vous aimez cette
- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id <WebOpenPanelResultListener>)resultListener
{
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
[openDlg setCanChooseFiles:YES];
[openDlg setCanChooseDirectories:NO];
// process the files.
if ([openDlg runModal] == NSOKButton)
{
NSString* fileString = [[openDlg URL]absoluteString];
[resultListener chooseFilename:fileString];
}
}
Mais alors?
Que dois-je faire? Sur le site, il montre que j'ai sélectionné un fichier, mais lorsque vous cliquez sur télécharger le site, il suffit de retourner une erreur, comme si aucun fichier n'est téléchargé. Dois-je écrire le code qui gère le téléchargement de fichier ou quoi?
Je suis un peu perdu ...
Edit:
En fait, je l'ai eu de travail .... En modifier simplement le code d'ici: Cocoa webkit: how to get file upload/file system access in webkit un peu, comme une partie a été dépréciée
- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id <WebOpenPanelResultListener>)resultListener
{
// Create the File Open Dialog class.
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
// Enable the selection of files in the dialog.
[openDlg setCanChooseFiles:YES];
// Enable the selection of directories in the dialog.
[openDlg setCanChooseDirectories:NO];
if ([openDlg runModal] == NSOKButton)
{
NSArray* URLs = [openDlg URLs];
NSMutableArray *files = [[NSMutableArray alloc]init];
for (int i = 0; i <[URLs count]; i++) {
NSString *filename = [[URLs objectAtIndex:i]relativePath];
[files addObject:filename];
}
for(int i = 0; i < [files count]; i++)
{
NSString* fileName = [files objectAtIndex:i];
[resultListener chooseFilename:fileName];
}
[files release];
}
}
Profitez-en!
Quelle est la langue que vous utilisez? –
Objective-c, mais je l'ai fait fonctionner maintenant – Dimillian
puis supprimez votre question .. –