2010-11-15 115 views
1

我是新來的iPhone,是否有可能上傳uiimage在服務器上,而無需使用任何PHP或其他文件。如何在服務器上上傳UIImage?

我有可能通過發送請求到一些PHP文件上傳圖像的例子。 但我不想使用PHP文件。

我在服務器上有服務器路徑和上傳文件夾。

任何人都可以解決上傳圖像在服務器上只使用iphone?
任何想法,不勝感激。

+0

您可以通過套接字編程做到這一點,如果我沒看錯使用FTP,我沒有太多的knowladge回合此 – GhostRider 2010-11-15 10:46:47

回答

1

你上傳照片的地方?需要有一個服務器端腳本來接收文件,通常是PHP,Perl或Python腳本。

+0

謝謝,解決我的困惑 – 2010-11-15 12:57:19

+0

相關:http://php.net/manual/en/ function.move上傳-file.php – WolfRevoKcats 2010-11-15 13:10:35

0
func UploadImageWithDict(#Dict : NSMutableDictionary ,Image : UIImage) -> NSMutableDictionary 
{ 
    var imageData = UIImageJPEGRepresentation(Image,0.1) 
    if (imageData != nil) 
    { 
     var request = NSMutableURLRequest(URL: NSURL(string:」」)!) 
     var boundary = NSString(format: "---------------------------14737809831466499882746641449") 
     request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") 
     let body = NSMutableData.alloc() 
     var postData:String = String() 

     postData += "--\(boundary)\r\n" 
     for (key, value : AnyObject) in Dict { 
      if let value = value as? String { 
       postData += "--\(boundary)\r\n" 
       postData += "Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n" 
       postData += "\(value)\r\n" 
      } 
     } 
     postData += "--\(boundary)\r\n" 
     postData += "Content-Disposition: form-data; name=\"photo\"; filename=\"\(Int64(NSDate().timeIntervalSince1970*1000)).jpg\"\r\n" 
     postData += "Content-Type: image/jpeg\r\n\r\n" 

     body.appendData(postData.dataUsingEncoding(NSUTF8StringEncoding)!) 
     body.appendData(imageData) 
     postData = String() 
     postData += "\r\n" 
     postData += "\r\n--\(boundary)--\r\n" 
     body.appendData(postData.dataUsingEncoding(NSUTF8StringEncoding)!) 

     request.HTTPMethod = "POST" 
     request.HTTPBody = body 

     var Err: AutoreleasingUnsafeMutablePointer<NSError? > = nil 
     var returnData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse:nil , error:Err) 

     if(Err == nil && returnData != nil) 
     { 
      print(">>>>>>>>>") 
      var returnString = NSString(data: returnData!, encoding: NSUTF8StringEncoding) 
      var data : NSData? = StringData.dataUsingEncoding(NSUTF8StringEncoding) 
      var dict : AnyObject? = NSJSONSerialization.JSONObjectWithData(data!,options:NSJSONReadingOptions.AllowFragments, error: nil) 
      print(dict) 
      return dict as! NSMutableDictionary 
     } 
     else 
     { 
      return NSMutableDictionary() 
     } 
    } 
    else 
    { 
     return NSMutableDictionary() 
    } 
}