当前位置: 首页 > 知识库问答 >
问题:

base64代码通过java script、ajax发送到服务器

葛意远
2023-03-14

我正在使用Html5、Java脚本、ajax和Java。我正在上传一个图像从桌面到作物,作物后,它是显示在同一页的引导模式。但是我没有得到这个图像的URL,我得到了一些Base64代码,当我发送这个Base64代码时,它没有工作。

我看到了这篇文章,但我没有从这个链接中得到任何解决方案:https://stackoverflow.com/

代码为静态图像,首次显示.

  <div class="img-container">
         <img src="../assets/img/picture.jpg" alt="Picture">
    </div>
<div class="modal fade docs-cropped" id="getCroppedCanvasModal" aria-hidden="true" aria-labelledby="getCroppedCanvasTitle" role="dialog" tabindex="-1">
 <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <a class="btn btn-primary" id="download"  download="cropped.png" href="javascript:void(0);">Upload</a>

 </div>
</div>
     (function () {
            var $image = $('.img-container > img');
            var $download = $('#download');
        $('#getCroppedCanvasModal').modal().find('.modal-body').html(result);
                    if (!$download.hasClass('disabled')) {
                        $download.attr('href', result.toDataURL());
                        //console.log("*****************"+result.toDataURL());
                        var swapUrl = result.toDataURL();
                        console.log("*******" + swapUrl);

//                        document.getElementById('replaceMe').src = swapUrl;

                        $('#download').click(function () {
                            var b = result.toDataURL();
                            $.ajax({
                                url: "/sf/p/customizeText",
                                type: 'GET',
                                data: b,
                                success: function (response) {
                                    console.log("999999999999999999999999999999999----------------" + b)
                                },
                                complete: function (response) {

                                },
                                error: function (response) {

                                }
                            });
                        });
                    }
}

我将result.ToDataurl()赋值到变量B中。但它显示了一些base64代码。如何将此映像发送到服务器。

共有1个答案

酆意智
2023-03-14

嗨,你也可以检查这个解决方案

Javascript代码

    var base64before = document.querySelector('img').src;
    var base64 = base64before.replace(/^data:image\/(png|jpg);base64,/, "");
    var httpPost = new XMLHttpRequest();
    var path = "your url";
    var data = JSON.stringify(base64);

    httpPost.open("POST", path, false);
    // Set the content type of the request to json since that's what's being sent
    httpPost.setRequestHeader('Content-Type', 'application/json');
    httpPost.send(data);

这是我的Java代码。

    public void saveImage(InputStream imageStream){
    InputStream inStream = imageStream;

    try {
        String dataString = convertStreamToString(inStream);

        byte[] imageBytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(dataString);
        BufferedImage image = ImageIO.read(new ByteArrayInputStream(imageBytes));
        // write the image to a file
        File outputfile = new File("/Users/paul/Desktop/testkey/myImage.png");
        ImageIO.write(image, "png", outputfile);

        }catch(Exception e) {
            System.out.println(e.getStackTrace());
        }
    }



  static String convertStreamToString(java.io.InputStream is) {
    java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
    return s.hasNext() ? s.next() : "";
  }
 类似资料:
  • 当我尝试上传16.9 MB大小的MP4视频时,使用ajax async post将其上传到PHP文件,控制台会触发一个错误,提示:posthttp://website.com/proc_vids.phpnet::ERR_EMPTY_响应 我知道这个问题与PHP内存限制有关,因为当我设置为200 MB时,一切正常,但当我将其更改回100 MB时,就会发生此错误。 我甚至无法将POST发送到PHP变量

  • 问题内容: 我正在通过失败学习Ajax并碰壁: 我有一个用Javascript编写的数组(如果有关系,该数组将根据用户选中的复选框存储数字ID)。 我有一个函数,当用户单击“保存”按钮时被调用。功能如下: 我的问题是: 我可以在此函数中添加什么以将数组拉入要调用的php脚本(“ create_amenities.php”)? 此外,我应该尝试使用JSON吗?如果是这样,我如何通过ajax发送JSO

  • 问题内容: 我正在使用jQuery将JSON发布到Java服务器,但是我认为JSON一定是错误的。这是我的数据及其发送方式的示例: 我正在使用Wicket的AbstractAjaxBehavior接收数据,并希望获得一个我可以解析的JSON字符串。当我获得传递的参数的映射时,键集如下所示: 显然,我可以轻松获取名称和描述的值,但是我的项目数组的键弄乱了。我敢肯定这很简单,但是我似乎一直在解决这个问

  • 问题内容: 我有一个生成HTML内容的php脚本。有没有一种方法可以通过php脚本通过JSON将HTML内容发送回我的网页? 问题答案: 是的,您可以使用HTML字符串并根据需要对其进行转义。 请注意,在 JSON中,顶级项 必须 是数组或对象 (现在不再适用) ,不能仅仅是字符串。因此,您将需要创建一个对象并使HTML字符串成为该对象的属性(可能是唯一的属性),因此生成的JSON类似于:

  • 问题内容: 编辑:整个问题原来是网络问题,但是如果您看到有关如何优化流程的任何想法,我仍然会感激不尽。 我对Servlets还是很陌生,在不久的将来,我遇到了一个与性能有关的问题。我正在尝试通过Google Chrome浏览器中的XHR对象发送视频文件。视频文件存储在Blob对象中。我在JavaScript脚本中使用了此功能: 它运行良好,因为Blob到达Servlet,在这里我使用以下代码对其进

  • 我正在尝试使用POST提交表单,但我有一些来自 标记的额外数据,这些数据已存储到JS对象中。当我从JavaScript中点击时,我想把它发送到服务器。 我尝试做的是用事件发送