使用 Java 对 Lua 构建的异步-waffle 服务器发送图片

我正在尝试从 Java 发送图片到一个基于 aSync-Lua 构建的 waffle 服务器。 以下是服务器端的代码片段

require 'image'
app = require('waffle')
app.get('/', function(req, res)
res.send('Hello World!')
end)
app.post('/', function(req, res)
print(req.form.file)

local img = req.form.file:toImage()
local m = img:mean()
res.send('Image mean: ' .. m)

end)
app.error(500, function(description, req, res)
res.status(500).send(description)
end)
app.listen({host = '0.0.0.0', port=8090})

我能够使用类似 Postman 的 REST Client 发送图片 通过 Postman 发送的图片 请求只包含 url 和带有名称 file 的表单数据,上传了相同的文件

当我尝试使用 Java 发送相同的图片时,我会收到一个错误,指出

/usr/local/share/lua/5.1/graphicsmagick/Image.lua:352: magick.Image: error reading from blob: (ExceptionType=0)

这是我正在使用的代码片段

String url = "http://something:8090";
File f = new File("C:\\Users\\ADRAJ\\Desktop\\Jpg.jpg");
ContentBody cbFile = new FileBody(f, "image/jpeg");
HttpEntityEnclosingRequestBase post = new HttpPost(url);
post.setEntity(MultipartEntityBuilder.create().addPart("file", cbFile).build());
HttpResponse response = httpclient.execute(post);
InputStream data2 = response.getEntity().getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(data2));
String responseLine;
StringBuilder responseBuilder = new StringBuilder();
while ((responseLine = bufferedReader.readLine()) != null) {
responseBuilder.append(responseLine);
}

我是否忽略了什么?

点赞
用户6578157
用户6578157

setLaxmode() 在实体构建器中解决了这个问题。

2016-07-16 12:48:56