サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >ファイルストア(Swift):基本的な使い方

ファイルストア(Swift)

基本的な使い方

概要

このページでは、ファイルストアの基本的な使い方について説明します。

アプリからの操作

ファイルストアへのアップロード

以下のようにしてファイルストアへのアップロードを行います。

※注意

アップロードするファイルの名前にはルールがありますので、ご注意ください。
詳細は、開発ガイドライン:ファイルストアについてをご参照ください。

// アップロード対象のデータ
let data : Data = "NIF Cloud mobile backend".data(using: .utf8)!
// ファイルオブジェクトの作成
let file : NCMBFile = NCMBFile(fileName: "ncmb.txt")
// アップロード
file.saveInBackground(data: data, callback: { result in
    switch result {
    case .success:
        print("保存に成功しました")
    case let .failure(error):
        print("保存に失敗しました: \(error)")
        return;
    }
})

画像データを扱う場合には、一度NSDataに変換したものをNCMBFileオブジェクトとしてセットします。

//画像ファイルをDataに変換
if let img = UIImage(named: "test") {
    let data = img.pngData()!
    let file : NCMBFile = NCMBFile(fileName: "test.png")
    file.saveInBackground(data: data, callback: { result in
        switch result {
        case .success:
            print("保存に成功しました")
        case let .failure(error):
            print("保存に失敗しました: \(error)")
            return;
        }
    })
}

ファイルを取得する

ファイルストアに保存したものを取得するには、getDataメソッドを利用します。
getDataInBackgroundメソッドでの非同期処理も可能です。
ファイルの取得時には、ファイル名を先に取得する必要があるので、
以下の2通りが考えられます。

  • ファイル名を指定して取得する

あらかじめファイル名を指定したNCMBFileオブジェクトを作成し、データを取得することができます。

// ファイル名の指定
let file : NCMBFile = NCMBFile(fileName: "ncmb.txt")

// ファイルの取得
file.fetchInBackground(callback: { result in
    switch result {
        case let .success(data):
            print("取得に成功しました: \(data)")
        case let .failure(error):
            print("取得に失敗しました: \(error)")
            return;
    }
})

  • ファイル検索を利用する

クエリを取得して、ファイルストアを検索することができます。

//ファイルストアを検索するクエリを作成
var fileQuery : NCMBQuery<NCMBFile> = NCMBFile.query
//検索するファイル名を設定
fileQuery.where(field: "fileName", equalTo: "test.png")
// 検索を行う
fileQuery.findInBackground(callback: { result in
    switch result {
    case let .success(array):
        print("取得に成功しました 件数: \(array.count)")

    case let .failure(error):
        print("取得に失敗しました: \(error)")
    }
})

ファイルの削除

deleteメソッドを利用して、ファイルを削除することができます。

// ファイルオブジェクトの作成
let file : NCMBFile = NCMBFile(fileName: "ncmb.txt")

// ファイルの削除
file.deleteInBackground(callback: { result in
    switch result {
        case .success:
            print("削除に成功しました")
        case let .failure(error):
            print("削除に失敗しました: \(error)")
            return;
    }
})

管理画面での操作

ファイルをアップロードする

管理画面の左側メニューから、ファイルをクリックしてください。
ファイル管理ページを開く

アップロードボタンをクリックすると、ファイルアップロード画面が開きます。
ファイルアップロード画面を開く

デフォルトで選択したファイルの名前とMIMEタイプが表示されますが、変更することができます。
※MIMEタイプ:システムがファイルの種別を判断するためのもの

デフォルトでは全会員がファイルにアクセス可能となっていますが、パーミッションを設定して権限を変更できます。

※注意

アップロードするファイルの名前にはルールがありますので、ご注意ください。
詳細は、開発ガイドライン:ファイルストアについてをご参照ください。

「アップロードする」をクリックすると、ファイルがアップロードされます。
アップロード完了

ファイルを削除する

削除するファイルをチェックして、削除ボタンをクリックします。

ファイルクラスのパーミッションを設定する

アプリ設定からファイルストアの項目を選択すると、ファイルクラスパーミッションの画面が開くので、「パーミッションの設定」ボタンをクリックしてください。
ファイルクラスパーミッション設定
パーミッション設定画面が開くので、「+新しいパーミッション」ボタンをクリックし、パーミッションを設定してください。
ファイルクラスパーミッション設定2
パーミッションを削除する場合は、各行の左側にあるチェックボックスをクリックしたあと、削除ボタンをクリックしてください。

ファイル情報の暗号化設定

ファイルストアの「クラスの編集」から、ファイル名とMIMEタイプを暗号化した状態で保存するための設定ができます。

ファイル情報の暗号化設定

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ