how to insert stream into table using nodejs? - Mailing list pgsql-general

From Leonardo
Subject how to insert stream into table using nodejs?
Date
Msg-id CAPDRjvEnY0uXm2Zw1XeQEVBsh5ZXdc=nq2S3UNcMGt0+GHnaJg@mail.gmail.com
Whole thread Raw
Responses Re: how to insert stream into table using nodejs?  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
Hello all,

i'm looking for a way to insert a file into a table using available binding for nodejs.

just for comparison, if i where using java on server the upload code would be like this:

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
cors(response);
LOG.info("POST started: " + request.getContentType());
Collection<Part> parts = request.getParts();
for (Part part : parts) {
long len = part.getSize();
String name = part.getName();
LOG.info("attepmt to upload " + name + " from "
+ request.getRemoteAddr());
if ("file".equals(name)) {
String mime = part.getContentType();
try (InputStream in = part.getInputStream()) {
String q = "insert into media (mediamime,mediadata) values (?,?)";
try (Connection con = ds.getConnection()) {
try (PreparedStatement ps = //
con.prepareStatement(q, Statement.RETURN_GENERATED_KEYS)) {
ps.setString(1, mime);
ps.setBinaryStream(2, in, len);
ps.executeUpdate();
try (ResultSet rs = ps.getGeneratedKeys()) {
if (rs.next()){
String m = ""+rs.getInt(1);
LOG.info("new media: "+m);
response.getWriter().write(m);
}
}
}
} catch (Exception e) {
LOG.severe(e.getMessage());
e.printStackTrace();
response.setStatus(500);
response.getWriter().write(e.toString());
}
}
}
}
} 

Attention for ps.setBinaryStream(2, in, len); part.

Im' looking for a equivalent to this using pg, knex, anything capable of this in the nodejs ecossytem.

Thanks in advance. 

pgsql-general by date:

Previous
From: Gavin Flower
Date:
Subject: Re: Recursive Arrays 101
Next
From: Tom Lane
Date:
Subject: Re: PAM LDAP CREATE USER