2016-05-02 109 views
5

'a aktarma FTP'ye görüntü yüklemeye çalışıyorum.ngcordova dosya aktarım eklentisini kullanarak çekilen görüntüyü ftp

i şimdiye kadar achived

$scope.upload =function(){ 

     var options = { 
     fileKey: "file", 
     fileName: "gopi", 
     chunkedMode: false, 
     mimeType: "image/jpeg", 
     params : {'user_token':'[email protected]', 'user_email':'wepopusers'} // directory represents remote directory, fileName represents final remote file name 
     }; 
     console.log(options); 
     $cordovaFileTransfer.upload('ftp://308.3d8.myftpupload.com/', MyService.getImgPath(), options) 
     .then(function(result) { 
      // Success! 
      console.log(result); 
      console.log("SUCCESS: " + JSON.stringify(result.response)); 
      alert('ftp success'); 
     }, function(err) { 
      // Error 
      console.log(err); 
      alert('ftp fail'); 
      console.log("ERROR: " + JSON.stringify(err)); 
     }, function (progress) { 
      // constant progress updates 
      console.log(progress); 
     }); 

    }; 

cordova dosyası için benim hata fonksiyonunun My yanıtı

FileTransferError {benziyor gibi benim cordova dosya transferi görünüyor bu plnkr

olduğunu ne kodu: 2, kaynak: "file: ///storage/sdcard0/Android/data/com.ionicframework.camera108827/cache/1462186990291.jpg", hedef: "ftp://308.3d8.myftpupload.com/", http_status: null, body : null…} body: nullcode: 2exception: nullhttp_status: nullsource: "dosya: ///storage/sdcard0/Android/data/com.ionicframework.camera108827/cache/1462186990291.jpg" target: "ftp://308.3d8.myftpupload.com/" proto: Nesne

Ben cordovafiletransfer $ scope.upload kullanarak upload pic almak ve kullanıcıya göstermek ve aynı zamanda bir işleve sahip olacaktır düğmesine TakePicture var.

benim ftp konak ftp://308.3d8.myftpupload.com/ kullanıcı adı ve şifre benim resim depolamak gereken yerde gopi adında bir klasör adı var bu benim kodlama verilmiştir.

Alınan görüntünün yolu, imageURI parametresindedir, bu yüzden yolu ayarlamak için servisler kullandım.

adımlar Ben karışıklık

1) Ben cordova dosya transferi eklentisinde var options nesneyi anlamak mümkün değilim değilim.

2) Uzaktan hata ayıklama yaparken hiçbir erro almıyorum ancak cordova dosya aktarımımda yalnızca hata durumumu çağırıyorum. İyonik

GÜNCELLEME kullanarak FTP benim çekilen görüntüyü güncelleyebilirsiniz nasıl

Gandi'nin cevabı https://github.com/xfally/cordova-plugin-ftp-

sayesinde ben çok parçalı olmadan ftp bağlanmak nasıl başardığını bazılarıdır. Bu

$ window.cordova.plugin.ftp.upload ("/ ping", "/ gopi/ping", function (yüzde) {

hatayı bakan

ama eşik ilk argümanda ne olduğunu bilmiyorum ve ikincisinde ne olduğunu bilmiyorum:

$ window.cordova.plugin.ftp.upload ("/ default.prop", "/ gopi/default."Yukarıdaki satır başarı tamamen benim ftp gönderilen

fonksiyonunu (yüzde) {prop ama benim ping değişkeninde saklanır Resmimi göndermek mümkün değilim.

https://plnkr.co/edit/ETGmdl4B0d5dlHWdJQ9m?p=info

cevap

1

ilk sorunun cevabı dosya aktarım eklentinin resmi belgelerinde mevcuttur. izleyin olarak alıntıdır,

options: Optional parameters (Object). Valid keys: 

fileKey: The name of the form element. Defaults to file. (DOMString) 
fileName: The file name to use when saving the file on the server. Defaults to image.jpg. (DOMString) 
httpMethod: The HTTP method to use - either PUT or POST. Defaults to POST. (DOMString) 
mimeType: The mime type of the data to upload. Defaults to image/jpeg. (DOMString) 
params: A set of optional key/value pairs to pass in the HTTP request. (Object, key/value - DOMString) 
chunkedMode: Whether to upload the data in chunked streaming mode. Defaults to true. (Boolean) 
headers: A map of header name/header values. Use an array to specify more than one value. On iOS, FireOS, and Android, if a header named Content-Type is present, multipart form data will NOT be used. (Object) 

kontrol daha bu link bilgi.

İkinci soru için, hata geri çağırma işlevinde hata kodunu almayı deneyin ve sorunu daraltmaya çalışın.

Güncelleme: Dosya aktarım eklentisi kullanarak ftp yüklemenin mümkün olmadığını düşünüyorum. Eklenti tanımının kendisi, için "The FileTransfer object provides a way to upload files using an HTTP multi-part POST or PUT request, and to download files" 'u gösterir. Bunu, ftp yüklemeleri için ftp client'a bakmak zorunda kalabilirsiniz.

+0

Benim FTP'm için kullanıcı adımı ve şifremi verdiğim ** seçeneklerim ** nesnesini görebiliyorum, doğru ya da doğru olmayan şeyden emin olmadığımdan emin değilim –

+0

@Gopi Eğer belgelerinize göre, params nesnesinde kimlik bilgilerinizi geçmek, onunla birlikte http isteği ile geçti. Güvenlik açığı ile ilgili endişeleriniz varsa, http isteğindeki kimlik bilgilerinin açığa çıkarılması (tekrar edilmemesine rağmen), bu değerleri istek parametrelerini kullanarak ve kimlik doğrulamasıyla sunucu tarafında alabilirsiniz. Else, istek başlıklarına bunları iletmeyi deneyin ve bunları seçenek nesnesine ekleyin. Örneğin. var üstbilgiler = {'headerParam': 'headerValue'}; options.headers = headers; – Gandhi

+0

herhangi bir çalışan örnek projeniz var nasıl çalıştığını görmek istiyorum .. –