2

Safari からドロップされた GIF ファイルを正しく解析する必要があります。Chrome または Opera では、非常に簡単に実行できます。

-(BOOL)performDragOperation:(id<NSDraggingInfo>)sender
{
    if ([types containsObject:@"CorePasteboardFlavorType 0x75726C20"]) // GIF format
    {
        NSData* gifData = [pb dataForType:@"CorePasteboardFlavorType 0x75726C20"];
        NSString* someName = [self _sanitizeFileNameString:[[NSURL URLFromPasteboard:pb] absoluteString]];
        NSString* tempStr = [[MSSettingsManager instance] tmpDir];
        NSString* randomFilePath = [NSString stringWithFormat:@"%@/%ld%ld%ld.gif",tempStr,random(),random(),random()];
        if (someName)
            randomFilePath = [NSString stringWithFormat:@"%@/%@ - %d.gif",tempStr,someName,rand()];
        [gifData writeToFile:randomFilePath atomically:YES];
    }
}

Safari では、PasteBoard のすべての入力タイプが GIF ファイルを破損します。

NSFilesPromisePboardType - 私にも何も与えません。

if ([[pb types] containsObject:NSFilesPromisePboardType]){
    NSURL* newFilePath = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/",[[MSSettingsManager instance] tmpDir]]];
    NSArray *filenames = [sender namesOfPromisedFilesDroppedAtDestination:newFilePath];
    NSLog(@"%@",filenames); // 0x000...
}

だから、私の探求は - PasteBoard または型のない行ファイルから明確な GIF ファイルを取得する方法です。

4

0 に答える 0