非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。
今回はファイルをファイルストアにアップロードする方法を解説します。
SDKのインポート
まずはSDKをインポートします。pubspec.yamlは以下のように記述します。
dependencies: ncmb: ^0.1.2
コードでは次のようにインポートします。
import 'package:ncmb/ncmb.dart';
flutter pub get
でライブラリをインポートします。プッシュ通知はスマートフォンアプリでしか使えないので、Flutter以外の環境では利用できなくなりました。
SDKの初期化
次にSDKを初期化します。
NCMB ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');
ファイルアップロード
ファイルはバイナリとテキストの二種類を想定しています。
バイナリファイルのアップロード
ファイルはあらかじめ読み込んでおき、バイト文字列として渡します。
var fileName = 'dart.png'; var blob = await File(fileName).readAsBytes(); var file = await ncmb.File.upload(fileName, blob);
テキストファイルのアップロード
テキストファイルはそのまま文字列を適用すればOKです。
var fileName = 'dart.txt'; var file = await ncmb.File.upload(fileName, 'Hello world');
さらにMimeTypeの指定もできます。デフォルトは text/plain
です。
var fileName = 'dart.csv'; var file = await ncmb.File.upload(fileName, 'a,b,c', mimeType: 'text/csv');
まとめ
ファイルアップロード機能を使えばカメラの写真をアップロードすることもできるでしょう。今後、さらにバージョンアップを行っていきます。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!