aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-12-07 15:22:26 -0800
committerzotlabs <mike@macgirvin.com>2016-12-07 15:22:26 -0800
commit07706b41f46a726257d8c86beb7ced664d3a7ab7 (patch)
tree6ec94f07d2c63cd55ec2f598cae1278a2b6b9121
parent346a48d4c238d39c358cbac2a29f29a173b0ea7e (diff)
downloadvolse-hubzilla-07706b41f46a726257d8c86beb7ced664d3a7ab7.tar.gz
volse-hubzilla-07706b41f46a726257d8c86beb7ced664d3a7ab7.tar.bz2
volse-hubzilla-07706b41f46a726257d8c86beb7ced664d3a7ab7.zip
document the api filedata call
-rw-r--r--doc/api/api_filedata.md66
-rw-r--r--doc/api_zot.md4
-rw-r--r--include/api_zot.php4
3 files changed, 70 insertions, 4 deletions
diff --git a/doc/api/api_filedata.md b/doc/api/api_filedata.md
new file mode 100644
index 000000000..1d46a495c
--- /dev/null
+++ b/doc/api/api_filedata.md
@@ -0,0 +1,66 @@
+API filedata
+=============
+
+Provides the ability to download a file from cloud storage in chunks
+
+GET /api/z/1.0/filedata
+
+
+Required:
+
+ - file_id
+ attach.hash of desired file ('begins with' match)
+
+
+Optional:
+
+ - start
+ starting byte of returned data in file (counting from 0)
+
+ - length
+ length (prior to base64 encoding) of chunk to download
+
+
+Returns:
+
+ attach (DB) structure with base64 encoded 'content' comprised of the desired chunk
+
+
+
+Example:
+
+ https://xyz.macgirvin.com/api/z/1.0/filedata?f=&file_id=9f5217770fd&start=0&length=48
+
+Returns:
+
+ {
+
+ "attach": {
+ "id": "107",
+ "aid": "1",
+ "uid": "2",
+ "hash": "9f5217770fd55d563bd77f84d534d8e119a187514bbd391714626cd9c0e60207",
+ "creator": "pgcJx1IQjuPkx8aI9qheJlBMZzJz-oTPjHy3h5pWlOVOriBO_cSiUhhqwhuZ74TYJ8_ECO3pPiRMWC0q8YPCQg",
+ "filename": "pcxtopbm.c",
+ "filetype": "application/octet-stream",
+ "filesize": "3934",
+ "revision": "0",
+ "folder": "",
+ "flags": "0",
+ "is_dir": "0",
+ "is_photo": "0",
+ "os_storage": "1",
+ "os_path": "",
+ "display_path": "",
+ "content": "LyogcGN4dG9wYm0uYyAtIGNvbnZlcnQgUEMgcGFpbnRicnVzaCAoLnBjeCkgZmls",
+ "created": "2016-07-24 23:13:01",
+ "edited": "2016-07-24 23:13:01",
+ "allow_cid": "",
+ "allow_gid": "",
+ "deny_cid": "",
+ "deny_gid": "",
+ "start": 0,
+ "length": 48
+ }
+
+ } \ No newline at end of file
diff --git a/doc/api_zot.md b/doc/api_zot.md
index f15736a48..032b4e1c1 100644
--- a/doc/api_zot.md
+++ b/doc/api_zot.md
@@ -27,9 +27,9 @@ api/z/1.0/filemeta
Export file metadata for any uploaded file
-api/z/1.0/filedata
+[api/z/1.0/filedata](help/api/api_filedata)
- Export file contents for any uploaded file
+ Fetch file contents or partial contents for any uploaded file
api/z/1.0/file/export
diff --git a/include/api_zot.php b/include/api_zot.php
index bdbed6a5f..d9895fae0 100644
--- a/include/api_zot.php
+++ b/include/api_zot.php
@@ -157,9 +157,9 @@
$start = (($_REQUEST['start']) ? intval($_REQUEST['start']) : 0);
$length = (($_REQUEST['length']) ? intval($_REQUEST['length']) : 0);
- $r = q("select * from attach where uid = %d and hash = '%s' limit 1",
+ $r = q("select * from attach where uid = %d and hash like '%s' limit 1",
intval(api_user()),
- dbesc($_REQUEST['file_id'])
+ dbesc($_REQUEST['file_id'] . '%')
);
if($r) {
$ptr = $r[0];