From: | Leonardo <sombriks(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | how to insert stream into table using nodejs? |
Date: | 2015-10-26 22:28:16 |
Message-ID: | CAPDRjvEnY0uXm2Zw1XeQEVBsh5ZXdc=nq2S3UNcMGt0+GHnaJg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2015-10-26 22:30:37 | Re: PAM LDAP CREATE USER |
Previous Message | Gavin Flower | 2015-10-26 22:23:43 | Re: Recursive Arrays 101 |