10
我试过这段代码,但它不工作。针对上述问题的任何建议或任何解决方案,用于在xml标记中发送base64字符串。 我使用这个xml标签(即xml解析)搜索了大量关于传递给java服务器的base64字符串,但没有得到任何结果。在xml标记中传递base64图像字符串
function fileSelectedForLogo() {
var oFile = document.getElementById('image_file').files[0];
\t if(oFile.size/1024 <= 50){
var oImage = document.getElementById('preview');
var oReader = new FileReader();
\t oReader.onload = function(e){
oImage.src = e.target.result;
\t \t var resultStr = oImage.src;
\t \t var result = resultStr.split(",");
\t \t $('#LogoImageKey').val(result[1]); \t \t
\t \t };
\t \t alert($('#LogoImageKey').val())
oReader.readAsDataURL(oFile); \t
\t }else{
\t \t alert(" Please Upload Less 50 KB ")
\t } \t
}
function creatingXMLRequest(){
var Name = \t $('#Name').val();
var logoImage \t \t = $('#LogoImageKey').val();
alert(logoImage);
var xml="<Request>" +
"<Data>" +
ifValueInsert(Name,"CName")+
ifValueInsert(logoImage,"LogoImage")+
"</Data>" +
\t \t \t "</Request>";
}
function ifValueInsert(value , tagName)
{
\t alert(value+" == "+tagName)
\t if(value!=undefined && value!='' && value!=null)
\t {
\t \t return "<"+tagName+">"+value+"</"+tagName+">";
\t }
\t return "";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<body>
<input type="hidden" id="LogoImageKey" value="" />
<label id="lblupload">Image Upload:</label>
<input id="image_file" type="file" onChange="fileSelectedForLogo();" />
<input type="button" onClick="creatingXMLRequest();" value="Submit" />
</body>
各地的4/3倍的内存到底是不是有什么加工?更加详细一些。有没有错误?你编码base64字符串中的所有特殊字符吗?来自http://www.xml.com/pub/a/98/07/binary/binary.html:“在Base64中编码的任意比特流可以在XML文档中被指定为元素的内容,只要任何特殊的字符(如“<”)表示为实体(“<”)。读取文档的应用程序需要查找包含二进制数据的元素,并对Base64字符串进行解码以恢复原始二进制流。 –