Giter VIP home page Giter VIP logo

Comments (5)

gwoo avatar gwoo commented on May 28, 2024

please provide some sample code. Looks like we may need to use PUT instead of POST for documents with attachments.

from lithium.

NilsNoreyson avatar NilsNoreyson commented on May 28, 2024

Hi gwoo,
I am working on the Photoblog tutorial in combination with the CouchDB.
The simple examples provided by the CouchDB explains how to insert a file into a existing document. This worked well in our case:

curl -vX PUT http://CouchDB:5984/photoblog/[-ID-OF-DOCUMENT] /Nikki2.jpg?rev=[-CURRENT-REVISION-] --data-binary @/Niki-de-Saint-Phalle3.jpg -H "Content-type:image/jpg"

The new _attachment entry in the document had the same atributes as provided by the Lithium Framework (size, type ...). Only the _attachment is missing when using Lithium.

As you mentioned we tried to use the PUT method, but this didn't help in the simple matter we tried it as seen in the example code below. Nevertheless the entry got still created in CouchDB but still without the picture.

Extraced from the photoblog tutorial /app/views/edit.html.php with some modifications. We are using the current release (yesterday) of lithium.

form->create($photo, array('type' => 'file', 'method' => 'put')); ?> form->field('title'); ?> form->field('description'); ?> exists()) { ?>
    <?=$this->form->field('file', array('type' => 'file', 'method' => 'put')); ?>
form->submit('Save'); ?> form->end(); ?>

Best regards, Nils

from lithium.

mariuswilms avatar mariuswilms commented on May 28, 2024

Probably refs Ticket 391 on dev.lithify.me "PUT request 'form' data is lost".

from lithium.

mariuswilms avatar mariuswilms commented on May 28, 2024

We'll need to build an abstraction for handling binary data (MongoDB's gridfs object, CouchDB inline and ref'ed attachments). Otherwise we'll end up duplicating code i.e. MIME-type checking etc. This is a medium large task.

from lithium.

mariuswilms avatar mariuswilms commented on May 28, 2024

Building such an above mentioned abstraction turned out to be a too ambitious task. As we're not going to support GridFS in MongoDB in the future (see #1305 (comment) for an explanation, same reasons apply here) it makes sense to not support it for CouchDB.

from lithium.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.