WebView ha un metodo chiamatoCome consentire il caricamento di file con WebView in Cocoa?
- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id <WebOpenPanelResultListener>)resultListener
Ma non v'è quasi 0 doc e dettagli su di esso. All'interno di I mostra una finestra di dialogo di file aperti e ottieni il nome del file selezionato.
Ti piace questa
- (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];
}
}
Ma poi?
Cosa devo fare? Sul sito web, mostra che ho selezionato un file, ma quando si fa clic su caricare il sito web è sufficiente restituire un errore, come se nessun file è stato caricato. Dovrei scrivere il codice che gestisce il caricamento del file o cosa?
Sono un po 'perso ...
Edit:
In effetti ho ottenuto che funziona .... Con solo modificare il codice da qui: Cocoa webkit: how to get file upload/file system access in webkit un po', come una certa parte è stata sconsigliata
- (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];
}
}
Divertiti!
Qual è la lingua che si sta utilizzando? –
Objective-c, ma ho funzionato ora – Dimillian
quindi elimina la tua domanda .. –