kopia lustrzana https://github.com/simonw/datasette
Binary data documentation, closes #1047
rodzic
1fe15f4dc1
commit
fa4de7551c
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 5.4 KiB |
|
@ -0,0 +1,68 @@
|
|||
.. _binary:
|
||||
|
||||
=============
|
||||
Binary data
|
||||
=============
|
||||
|
||||
SQLite tables can contain binary data in ``BLOB`` columns.
|
||||
|
||||
Datasette includes special handling for these binary values. The Datasette interface detects binary values and provides a link to download their content, for example on https://latest.datasette.io/fixtures/binary_data
|
||||
|
||||
.. image:: binary_data.png
|
||||
:width: 311px
|
||||
:alt: Screenshot showing download links next to binary data in the table view
|
||||
|
||||
Binary data is represented in ``.json`` exports using Base64 encoding.
|
||||
|
||||
https://latest.datasette.io/fixtures/binary_data.json?_shape=array
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
[
|
||||
{
|
||||
"rowid": 1,
|
||||
"data": {
|
||||
"$base64": true,
|
||||
"encoded": "FRwCx60F/g=="
|
||||
}
|
||||
},
|
||||
{
|
||||
"rowid": 2,
|
||||
"data": {
|
||||
"$base64": true,
|
||||
"encoded": "FRwDx60F/g=="
|
||||
}
|
||||
},
|
||||
{
|
||||
"rowid": 3,
|
||||
"data": null
|
||||
}
|
||||
]
|
||||
|
||||
.. _binary_linking:
|
||||
|
||||
Linking to binary downloads
|
||||
---------------------------
|
||||
|
||||
The ``.blob`` output format is used to return binary data. It requires a ``_blob_column=`` querystring argument specifying which BLOB column should be downloaded, for example:
|
||||
|
||||
https://latest.datasette.io/fixtures/binary_data/1.blob?_blob_column=data
|
||||
|
||||
This output format can also be used to return binary data from an arbitrary SQL query. Since such queries do not specify an exact row, an additional ``?_blob_hash=`` parameter can be used to specify the SHA-256 hash of the value that is being linked to.
|
||||
|
||||
Consider the query ``select data from binary_data`` - `demonstrated here <https://latest.datasette.io/fixtures?sql=select+data+from+binary_data>`__.
|
||||
|
||||
That page links to the binary value downloads. Those links look like this:
|
||||
|
||||
https://latest.datasette.io/fixtures.blob?sql=select+data+from+binary_data&_blob_column=data&_blob_hash=f3088978da8f9aea479ffc7f631370b968d2e855eeb172bea7f6c7a04262bb6d
|
||||
|
||||
These ``.blob`` links are also returned in the ``.csv`` exports Datasette provides for binary tables and queries, since the CSV format does not have a mechanism for representing binary data.
|
||||
|
||||
Binary plugins
|
||||
--------------
|
||||
|
||||
Several Datasette plugins are available that change the way Datasette treats binary data.
|
||||
|
||||
- `datasette-render-binary <https://github.com/simonw/datasette-render-binary>`__ modifies
|
||||
- https://github.com/simonw/datasette-render-images
|
||||
- https://github.com/simonw/datasette-media
|
|
@ -9,7 +9,7 @@ Changelog
|
|||
0.51a2 (2020-10-30)
|
||||
-------------------
|
||||
|
||||
- New :ref:`plugin_hook_load_template` plugin hook. (`#1042 <https://github.com/simonw/datasette/issues/1042>`__)
|
||||
- New ``load_template`` plugin hook. (`#1042 <https://github.com/simonw/datasette/issues/1042>`__)
|
||||
- New :ref:`permissions_debug_menu` permission. (`#1068 <https://github.com/simonw/datasette/issues/1068>`__)
|
||||
|
||||
.. _v0_51_a1:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.. _csv_export:
|
||||
|
||||
CSV Export
|
||||
CSV export
|
||||
==========
|
||||
|
||||
Any Datasette table, view or custom SQL query can be exported as CSV.
|
||||
|
|
|
@ -46,6 +46,7 @@ Contents
|
|||
authentication
|
||||
performance
|
||||
csv_export
|
||||
binary_data
|
||||
facets
|
||||
full_text_search
|
||||
spatialite
|
||||
|
|
Ładowanie…
Reference in New Issue