我遇到了MongoDB的问题,我有一个Java SOAP Web服务,我的前端是Angular / Bootstrap / Jquery,我需要在我的mongo数据库中保存一个文件,但我不知道我是怎么做的,我正在尝试这3天,我需要一个例子,Jquery / js调用SOAP服务来执行此操作或直接使用js,我收到的文件为<input type="file" id="file"/>
。
谢谢您的帮助。
我的文件类型是一个带有json和图像的tgz,而不是我需要保存在我的mongo数据库中。
function uploadCard() {
var fileList = new Array();
fileList = document.getElementById("file").files;
var fr = new FileReader();
if (FileReader && fileList && fileList.length) {
fr.readAsArrayBuffer(fileList[0]);
imageData = fr.result;
}
jQuery.support.cors = true;
var wsUrl = "http://" + window.location.hostname + ":7004/CardServiceImpl/CardService?WSDL";
var soapRequest = crateCardSoapRequest(document.getElementById("file").files[0]);
$.ajax({
crossDomain: true,
type: "POST",
url: wsUrl,
contentType: "text/xml",
dataType: "xml",
data: soapRequest,
success: processSuccess,
error: processError
});
}
function crateCardSoapRequest(input) {
var req = "<soap:Envelope xmlns:soap=" + '"' + "http://schemas.xmlsoap.org/soap/envelope/" + '"' + ">" +
"<soap:Body>" +
"<ns1:uploadCard xmlns:ns1=" + '"' + " http://card.ejb.card_editor.com.br/" + '"' + ">" +
"<arg0>" +
"<cardBean>"+
"<description>StringValue</description>" +
"<id>23</id>" +
"<name>StringValue</name>" +
"<file>" + input + "</file>" +
"<template>" + "</template>" +
"</cardBean>" +
"<nickNameUser>lucas_santos</nickNameUser>" +
"</arg0>" +
"</ns1:uploadCard>" +
"</soap:Body>" +
"</soap:Envelope>";
}
我的soap参数的类型为java.io.File
答案 0 :(得分:0)
数据库用于存储数据。您可能不应该将文件(如图像等)直接粘贴到数据库中。而是将文件上传到某个存储服务器或CDN,并链接到数据库中的文件。
然后,您查询数据库,找到URL,然后从该URL获取资源。