2017-10-27 5 views
0

クロスプラットフォームのアプリをnativescriptで開発していますが、ギャラリーからユーザーが選択した画像を取得する際に問題が発生しました。それはアンドロイドで非常に簡単です、それは私がアンドロイドで使用したユーザーが選択したイメージのためのファイルを作成するための私のコードです。ユーザー選択画像のファイルを作成するには

String File_Path = "/storage/emulated/0/Pictures/Screenshots/Screenshot_20171016-173404.png" 
File file = new File(File_Path); 

私は、ユーザが選択した画像のファイルを作成する必要がある理由は、私はMultipar /いるFormData内にファイルとしてユーザが選択した画像を送信する必要がありますです。 私は解決策を見つけることができない多くの方法を試してみました。任意の提案が大いに感謝します。

おかげ

それはFORMDATA

答えて

0

使用nativescript背景のhttpのための私のサンプルコードで、この機能

viewModel.uploadImage = function (imageUrl) { 
     var token = applicationSettings.getString("accessToken"); 
     var form = new FormData(); 
     form.append("file", imageUrl); 

     var bghttp = require("nativescript-background-http"); 

     var session = bghttp.session("image-upload"); 

     var request = { 
      url: <url>, 
      method: "POST", 
      headers: { 
       "Content-Type": "application/octet-stream", 
       "File-Name": "somename", 
       "Authorization": token 
      }, 
      description: "image for something" 
     }; 

     var params = [ 
        { name: "somename", value: "value" }, 
        { name: "fileToUpload", filename: imageUrl, mimeType: 'image/jpeg' } 
       ]; 
     let task = session.multipartUpload(params, request); 
     return task;  
    } 
+0

返されたタスクを処理する方法はこちらをご覧ください https://www.npmjs.com/package/nativescript-background-http –

0

作品以上の答えは、しかし、別のオプションを変換することですへのパスを渡します選択した画像をBase64Stringに変換し、他の文字列として扱います。

これを行うには、ファイルパスから新しいImageSourceを作成し、単にメソッドを使用するだけです。 Simlpy形式(jpg、pngなど)を渡すとすべて設定されます

関連する問題