我正在尝试使用 curl 将文件上传到 Web 服务,然后将这些文件保存在数据库中。到目前为止,它对文本文件运行良好,但图片已损坏。
假设我正在使用 curl 上传文件 logo.png :
curl -T D:\logo.png http://127.0.0.1:8080/my-web-service/resteasy/document/metadata?id=logo"&"contentType=IMAGE"&"httpType=image"/"png
我的网络服务使用这样的数据:
@Path("metadata")
@PUT
public void putDocument(
@QueryParam("id") String docId,
@DefaultValue("GENERIC_CONTENT") @QueryParam("contentType") String contentType,
@DefaultValue("text/html") @QueryParam("httpType") String httpType,
byte[] docContent) {
Document doc = new Document();
doc.setDocumentId(docId);
doc.setContentType(new RefContentType(ContentType.valueOf(contentType)));
doc.setHttpContentType(httpType);
doc.setContent(docContent);
doc = getDAO().save(doc);
LOG.info("Document saved successfully id : " + doc.getId());
所以我最好的猜测是 setContent 方法不适用于包含纯文本以外的内容的字节数组。我怎么知道 curl 是否正在搞乱上传,或者是我的 ejb 是否严重读取了数组?
谢谢你的帮助。