data.slice(22)
2013/12/11 Daniel Gonzalez <[email protected]>: > Thanks, I just realized about this. The base64 is coming from the > javascript frontend (chose file in a form). So I need to remove the > prefix "data:image/png;base64,". > Not sure how to do this without rolling my own regexes though. > > > On Wed, Dec 11, 2013 at 12:01 PM, Alexander Shorin <[email protected]> wrote: > >> Hi, >> >> _attachments data should be valid base64 encoded string, while you have: >> > >> data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADkCAIAAACwiOf9AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO... >> >> Chars : and , are invalid for base64. >> -- >> ,,,^..^,,, >> >> >> On Wed, Dec 11, 2013 at 2:49 PM, Daniel Gonzalez <[email protected]> >> wrote: >> > Hi, >> > >> > (SO reference: http://stackoverflow.com/q/20516980/647991. I post there >> > because formatting makes things much easier to read, replies / comments >> are >> > well organized, and the up/downvote mechanism works) >> > >> > I am performing the following operation: >> > >> > 1. Prepare some documents: `docs = [ doc1, doc2, ... ]`. The documents >> have >> > *maybe* attachments >> > 2. I `POST` to `_bulk_docs` the list of documents >> > 3. I get an `Exception > Problems updating list of documents (length = >> 1): >> > (500, ('badarg', '58'))` >> > >> > My `bulk_docs` is (in this case just one): >> > >> > [ { '_attachments': { 'image.png': { 'content_type': >> > 'image/png', >> > 'data': >> > >> 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADkCAIAAACwiOf9AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO...'}}, >> > '_id': '08b8fc66-cd90-47a1-9053-4f6fefabdfe3', >> > '_rev': '15-ff3d0e8baa56e5ad2fac4937264fb3f6', >> > 'docmeta': { 'created': '2013-10-01 14:48:24.311257', >> > 'updated': [ '2013-10-01 14:48:24.394157', >> > '2013-12-11 08:19:47.271812', >> > '2013-12-11 08:25:05.662546', >> > '2013-12-11 10:38:56.116145']}, >> > 'org_id': 45345, >> > 'outputs_id': None, >> > 'properties': { 'auto-t2s': False, >> > 'content_type': 'image/png', >> > 'lang': 'es', >> > 'name': 'dfasdfasdf', >> > 'text': 'erwerwerwrwerwr'}, >> > 'subtype': 'voicemail-st', >> > 'tags': ['RRR-ccc-dtjkqx'], >> > 'type': 'recording'}] >> > >> > This is the detailed exception: >> > >> > Traceback (most recent call last): >> > File "portal_support_ut.py", line 470, in test_UpdateDoc >> > self.ps.UpdateDoc(self.org_id, what, doc_id, new_data) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/ps/complex_ops.py", >> > line 349, in UpdateDoc >> > success, doc = database.UpdateDoc(doc_id, new_data) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/updater.py", >> > line 38, in UpdateDoc >> > res = self.SaveDoc(doc_id, doc) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/saver.py", >> > line 88, in SaveDoc >> > else : self.bulk_append(doc, flush, update_revision) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", >> > line 257, in bulk_append >> > if force_send or flush or not self.timer.use_timer : >> > self.BulkSend(show_progress=True) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", >> > line 144, in BulkSend >> > results = self.UpdateDocuments(self.bulk) >> > File >> > >> "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", >> > line 67, in UpdateDocuments >> > results = self.db.update(bulkdocs) >> > File >> > >> "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/client.py", >> > line 764, in update >> > _, _, data = self.resource.post_json('_bulk_docs', body=content) >> > File >> > >> "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", >> > line 527, in post_json >> > **params) >> > File >> > >> "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", >> > line 546, in _request_json >> > headers=headers, **params) >> > File >> > >> "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", >> > line 542, in _request >> > credentials=self.credentials) >> > File >> > >> "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", >> > line 398, in request >> > raise ServerError((status, error)) >> > ServerError: (500, ('badarg', '58')) >> > >> > >> > What does that `badarg` mean? Is it possible to send attachments when >> doing >> > `_bulk_docs`? >> > >> > Thanks, >> > Daniel >>
