का उपयोग कर अपलोड करें मैं एफ़टीपी के माध्यम से सर्वर पर फ़ाइलों को अपलोड करने की कोशिश कर रहा हूं। Apple Documentation के अनुसार NSURL सत्र वर्ग एफ़टीपी संचालन का समर्थन करता है।आईएसओ एफ़टीपी अपलोड NSRLSession
एक प्रसिद्ध Apple Developer blog है जो इसका भी समर्थन करता है। लेकिन फिर भी यह स्पष्ट नहीं है कि NSRLSession API का समर्थन ftp अपलोड करता है या नहीं? (मैंने सुझाए गए तरीके से त्रुटि और त्रुटि प्राप्त करने की कोशिश की)।
CFFTPStreamRef के पारंपरिक तरीके से, ftp अपलोड ठीक काम करता है लेकिन इसे 9.0 में बहिष्कृत किया गया है। हैडर का कहना है: CF_DEPRECATED (10_3, 10_11, 2_0, 9_0, "NSURLSessionAPI उपयोग एफ़टीपी अनुरोधों के लिए")
किसी भी विचार है, उदाहरण के या के साथ मदद करने के लिए लिंक। मैं अब के लिए कुछ इस तरह कोशिश कर रहा हूँ:
NSURL *url_upload = [NSURL URLWithString:@"ftp://username:[email protected]/myfolder/filename.zip"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url_upload];
[request setHTTPMethod:@"PUT"];
NSURL *docsDirURL = [NSURL fileURLWithPath:filePath];
NSURLProtectionSpace * protectionSpace = [[NSURLProtectionSpace alloc] initWithHost:url_upload.host port:[url_upload.port integerValue] protocol:url_upload.scheme realm:nil authenticationMethod:nil];
NSURLCredential *cred = [NSURLCredential
credentialWithUser:userId
password:password
persistence:NSURLCredentialPersistenceForSession];
NSURLCredentialStorage * cred_storage ;
[cred_storage setCredential:cred forProtectionSpace:protectionSpace];
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfig.URLCredentialStorage = cred_storage;
sessionConfig.timeoutIntervalForRequest = 30.0;
sessionConfig.timeoutIntervalForResource = 60.0;
sessionConfig.allowsCellularAccess = YES;
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromFile:docsDirURL];
[uploadTask resume];
NSURL सत्र दस्तावेज वास्तव में यह समझने में भ्रमित है कि यह एफ़टीपी पर क्या और कैसे समर्थन करता है। यह ऐप्पल से बहुत अच्छे दस्तावेज़ों का एक अच्छा उदाहरण नहीं है। – Amit
यह दुर्भाग्यपूर्ण है कि किसी को कोर फाउंडेशन एफ़टीपी एपीआई के लिए बहिष्करण चेतावनी जोड़ने का उज्ज्वल विचार मिला, जिसका अर्थ है कि आप उन्हें NSURL सत्र के साथ बदल सकते हैं। यह एक गंभीर गलती थी। दस्तावेज़ों की रक्षा में, हालांकि, मुझे संदेह है कि किसी ने भी इस संभावना को माना है कि कोई भी अभी भी * अपलोड * फ़ाइलों को एफ़टीपी के साथ करने की कोशिश कर रहा है। इसे बीस साल पहले * बहुत बुरा सुरक्षा अभ्यास माना जाता था, इसलिए मुझे आश्चर्य नहीं होगा अगर ऐप्पल ने पूरी तरह से दूर-दूर के भविष्य में एफ़टीपी अपलोड के लिए समर्थन हटा दिया, क्योंकि यह कभी नहीं किया जाना चाहिए। – dgatwood
मुझे एफ़टीपी बैशिंग का थोड़ा बीमार हो रहा है कि कोडर शामिल हो रहे हैं। सुरक्षा समस्या एक लाल हेरिंग है - टीएलएस पर एफ़टीपी का उपयोग करें !!! और इसे कचरे में कसने के लिए कोई अच्छा कारण नहीं है ... उदाहरण के लिए, अधिकांश वेब होस्ट अभी भी साइट सामग्री अपलोड करने के लिए एफ़टीपी सुविधाएं प्रदान करते हैं। अगर हम काम करना बंद कर देंगे तो हम कहाँ होंगे, आह? –