Đương nhiên, tải tệp lên là HTTP POST
. Bây giờ cho phép đầu tiên viết đoạn mã Erlang mà không HTTP/1.1 POST with Ibrowse
.
%% 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.
Từ đó, hãy làm điều Couch DB của chúng tôi.
-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.
Có bạn đi! Tất cả những gì bạn cần làm là tùy chỉnh Macro Link
để phù hợp với cài đặt DB của chiếc ghế và bạn đã sẵn sàng!
Nguồn
2011-11-17 14:04:14
Nếu tệp lớn, nó có thể cần phải được gửi theo khối trong trường hợp tiêu đề sẽ bao gồm một cái gì đó tương tự như sau: '{" Content-Type "," multipart/form-data "}' –