属性 | 説明 | 型 | 制限 |
---|---|---|---|
id | id サーバで自動採番 | long | unique |
url | ファイルのリソースを表すURL。 APIのレスポンスのみに使用。 | String | |
name | ファイル名 ユーザが指定 重複登録可能 | String | 1~100文字 使用出来る文字: a-z,A-Z,0-9,*.-_ |
mimetype | 登録するファイルのmimetype | String | 設定ファイルに記述したmimetypeのみ使用可能 |
registtime | 登録時間 1970/1/1 00:00:00:00からの経過ミリ秒 | long | long.MIN ~ long.MAX |
lastmodifiedtime | 最終更新時間 1970/1/1 00:00:00:00からの経過ミリ秒 | long | long.MIN ~ long.MAX |
size | ファイルサイズバイト数 | long | 0~2097152 |
version | ファイルのバージョン。プロパティやファイル実体を更新するとインクリメントされる。更新、削除時に指定したバージョンが異なると処理されない。 | int | 0 ~int.MAX |
GET http//(server):(port)/(webapp)/file/{id}/{name}
パラメータ | 説明 |
{id} | id |
{name} | ファイル名 |
ヘッダ/ボディ | 説明 |
---|---|
ETag ヘッダ | 注意事項参照 |
Content-Type ヘッダ | 登録されているmimetypeが設定される。 |
ボディ | ファイルデータ |
例
リクエスト例
http://foo.bar.com/arsvfdm/file/287265202174368/test.jpeg
レスポンス例
HTTP/1.1 200 OK X-Content-Type-Options: nosniff ETag: "1" Content-Type: image/jpeg Transfer-Encoding: chunked ~ファイルデータ~
GET http//(server):(port)/(webapp)/prop/{id}/{name}
パラメータ | 説明 |
---|---|
{id} | id |
{name} | ファイル名 |
ヘッダ/ボディ | 説明 |
---|---|
ETag ヘッダ | 注意事項参照 |
ボディ | ファイルデータ |
例
リクエスト例
http://foo.bar.com/arsvfdm/prop/287265202174368/test.jpeg
レスポンス例
{"id":287265202174368,"name":"test.jpeg","url":"http://foo.bar.com/arsvfdm/file/287265202174368/test.jpeg","mimetype":"image/jpeg","registtime":1359805887457,"lastmodifiedtime":1359805887457,"size":25130,"version":1}
GET http//(server):(port)/(webapp)/prop?(クエリパラメータ)
クエリパラメータ | 説明 | 値型 | 制約等 |
---|---|---|---|
type | 処理結果として返却するもの。 RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を返却 | Enum | required, default=RECORDS |
limitRange | 結果配列の取得範囲。1~ 例) {"start":1,"end":10} | Range<Integer> | required, |
idRanges | id範囲配列 例) [{"start":100,"end":200},{"start":300,"end":400}] | List<Range<Long>> | 10配列以下 |
nameRanges | name範囲配列 例) [{"start":"パソコン001.jpg","end":"パソコン999.jpg"}] | List<Range<String>> | 10配列以下 |
mimetypeRanges | mimetype 範囲配列 例) [{“start”:”image/jpeg”,“end”:”image/png”}] | List<Range<String>> | 10配列以下 |
registtimeRanges | registTime 範囲配列 例) [{“start”:1357532800000,”end”: 1357532900000} ] | List<Range<Long>> | 10配列以下 |
lastmodifiedtimeRanges | Lastmodifiedtime 範囲配列 例) [{“start”:1357532800000,”end”: 1357532900000} ] | List<Range<Long>> | 10配列以下 |
sizeRanges | size 範囲配列 例) [{“start”:1024,”end”: 10000} ] | List<Range<Long>> | 10配列以下 |
sortOrders | ソートオーダ配列。 ID=id昇順, 例) ["ID","NAME"] | List<Enum> | default=ID, |
ヘッダ/ボディ | 説明 |
---|---|
ボディ | recordsは「List<FileProperties>」となる。 |
例
リクエスト例
http://foo.bar.com/arfilemanager/prop?type=RECORDSANDCOUNT&limitRange={"start":1,"end":10}&idRanges=[{"start":100,"end":200},{"start":300,"end":400}]&nameRanges=[{"start":"test001.jpeg","end":"test999.jpeg"}]&sortOrders=["ID","NAME"]
POST http//(server):(port)/(webapp)/file
ファイルプロパティはファイル名、mimetypeが必須です。他の値はサーバ側で設定されます。
パス/ヘッダ/ボディ | 説明 | |
---|---|---|
Content-type ヘッダ | multipart/form-dataを指定 | |
ファイルpart ボディ | Content-Disposition ヘッダ | form-data;name=”file” |
ボディ | ファイルデータ | |
プロパティpart ボディ | Content-Type | application/json |
Content-Disposition | form-data;name=”prop” | |
ボディ | JSON形式のファイルプロパティ |
ヘッダ/ボディ | 説明 |
---|---|
ETag ヘッダ | バージョン情報 |
ボディ | JSON形式のファイルプロパティ |
例
リクエスト例
POST /arsvfdm/file HTTP/1.1 Content-Type: multipart/form-data; boundary=Boundary_1_1161595825_1359806732000 --Boundary_1_1161595825_1359806732000 Content-Type: application/json Content-Disposition: form-data; name="prop " {"id":””,"name":"test.jpeg","url":"","mimetype":"image/jpeg","registtime":””,"lastmodifiedtime":””,"size":””,"version":””} --Boundary_1_1161595825_1359806732000 Content-Type: image/jpeg Content-Disposition: form-data; filename="test.jpeg"; name="file "~ファイルデータ~ --Boundary_1_18036279_1357532897107--
JSONではキーがない場合はnullとみなすのでnameとmimetype以外のキーを省略しても問題ありません。
{“name”:”test.png”,”mimetype”:”image/png”}
レスポンス例
HTTP/1.1 201 Created ETag: "1" Content-Type: application/json Transfer-Encoding: chunked {"id":288109881061070,"name":"test.png","url":"http://foo.bar.com/arsvfdm/file/288109881061070/test.png","mimetype":"image/png","registtime":1359806732139,"lastmodifiedtime":1359806732147,"size":83054,"version":1}
IDとバージョンから登録したファイルを特定してファイルプロパティやファイルデータを削除します。
ポイント
登録されているプロパティのバージョンと指定したバージョンが異なる場合は処理を実行しません。
DELETE http//(server):(port)/(webapp)/file/{id}/{name}
パス/ヘッダ/ボディ | 説明 |
{id} パス | id |
{name} パス | ファイル名 |
If-Match ヘッダ | バージョン情報 |
パス/ヘッダ/ボディ | 説明 |
---|---|
ボディ | 空 |