Natürlich ist das Hochladen einer Datei ein HTTP POST
. Schreiben wir zunächst ein Stück Erlang-Code, das folgende Aufgaben erfüllt [**HTTP/1.1 POST with Ibrowse**](https://github.com/cmullaparthi/ibrowse/wiki/ibrowse-API)
.
%% Assumes Ibrowse application is in Code path
ensure\_ibrowse()->
case whereis(ibrowse) of
undefined -> ibrowse:start();
\_ -> ok
end.
post(Link,Data,Headers)->
ensure\_ibrowse(),
try ibrowse:send\_req(Link,Headers,post,Data) of
{ \_, \_, \_,Result} ->
io:format("\\n\\tFile Uploaded. Return: ~p~n",\[Result\]);
EE -> {error,EE}
catch
XX:XX2 -> {error,XX,XX2}
end.
Von dort aus können wir unser Couch-DB-Ding machen.
\-define(Link,"http://localhost:5984/DBNAME/DOCID/Penguins?rev=LATEST\_REVISION").
%% File\_path must be a valid file !
upload\_file(Full\_file\_path)->
case file:read\_file(Full\_file\_path) of
{ok,Binary} ->
post(?Link,Binary,\[{"Content-Type","image/jpeg"}\]);
Error -> Error
end.
Bitte sehr! Alles, was Sie tun müssen, ist, Ihr Makro anzupassen Link
auf die Einstellungen Ihrer DB-Couch anpassen und schon kann es losgehen!