当前位置:  开发笔记 > 编程语言 > 正文

将文件从finder拖动到webview时获取文件路径?

如何解决《将文件从finder拖动到webview时获取文件路径?》经验,为你挑选了1个好方法。

我正在用可可开发一个flvplayer.我想从finder拖动一个flv文件并将其放到webview窗口(我用它来查看flv).但我没有找到这个文件的路径.这是我的代码:

 _ (void)showflv(nsstring*)aa
{               
    ..........    
    //Register to accept flv drag/drop    
    NSString *pboardType = NSCreateFileContentsPboardType(@"flv");
    NSArray *dragTypes = [NSArray arrayWithObject:pboardType];
    [self registerForDraggedTypes:dragTypes];
}

 _ (BOOL)performDragOperation:(id )sender    
{
    NSPasteboard *pboard = [sender draggingPasteboard];     
    if ( [[pboard types] containsObject:NSFileContentsPboardType] ) {
    }
    return YES;
}

我阅读了有关this的文档.我发现PerformDragOperation的功能可以这样写:

_ (BOOL)performDragOperation:(id )sender
{
    NSPasteboard *pboard = [sender draggingPasteboard];

    if ( [[pboard types] containsObject:NSFileContentsPboardType] ) {
        NSFileWrapper *fileContents = [pboard readFileWrapper];
        // Perform operation using the file’s contents
    }
    return YES;
}

我可以得到这个拖动文件的文件内容.但是如何获取路径?

NSString *fileName = [fileContents filename];

我做了一个测试,这是不正确的.


我做了一个测试,但是draggedFilePaths没有用.我发现代码:

NSPasteboard *pboard = [sender draggingPasteboard];

if ( [[pboard types] containsObject:NSFileContentsPboardType] ) {
    //NSFileWrapper *fileContents = [pboard readFileWrapper];
    // Perform operation using the file’s contents
    nslog(@"aa");
}

当应用程序运行时,字符串"aa"没有出现,为什么?



1> Chuck..:

像这样:

NSArray *draggedFilePaths = [pboard propertyListForType:NSFilenamesPboardType];

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有