2010-12-05 12 views
7

मैं किसी ड्रैग और ड्रॉप क्षेत्र को बनाने की कोशिश कर रहा हूं जो किसी भी फ़ाइल प्रकार को स्वीकार करता है और उसे सर्वर पर अपलोड करेगा (ASIHTTPRequest का उपयोग करके)। मैं निम्न उदाहरण है कि एप्पल प्रदान करता है को देखा:कोको: किसी भी फ़ाइल प्रकार को खींचें और छोड़ें

http://developer.apple.com/library/mac/#samplecode/CocoaDragAndDrop/Introduction/Intro.html

लेकिन यह केवल खींचने और छवियों के छोड़ने से निपटने के कवर। मैं किसी भी फ़ाइल प्रकार से निपटने के लिए अपने ड्रैग और ड्रॉप ऑपरेशन कैसे सेट अप कर सकता हूं?

धन्यवाद।

उत्तर

5

इस post के आधार पर, आपको शायद imagePastBoardTypes के बजाय मनमाने ढंग से फ़ाइल प्रकार प्राप्त करने के लिए NSFilenamesPboardType के लिए अपना दृश्य रजिस्टर होना होगा।

11

संबंधित का प्रकार है, लेकिन इस मामले में यह जोड़ने यह किसी के लिए उपयोगी है:

आप बस किसी भी फाइल आवेदन आइकन पर घसीटा को संभालने के लिए चाहते हैं (एक दस्तावेज़ आधारित एप्लिकेशन होने की जरूरत नहीं है):

ज में:

- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames; 

मीटर में:

- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames { 
    NSLog(@"Files dragged on: %@", fileNames); 
} 

अपने xxx.pli में सेंट, CFBundleDocumentTypes के तहत एक नई प्रविष्टि बनाएं:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeExtensions</key> 
     <array> 
      <string>*</string> 
     </array> 
     <key>CFBundleTypeName</key> 
     <string>NSFilenamesPboardType</string> 
     <key>CFBundleTypeRole</key> 
     <string>None</string> 
    </dict> 
</array> 
संबंधित मुद्दे