使用Photo Editor SDK从URL编辑照片

问题描述 投票:2回答:2

我在我的应用程序中使用PhotoEditorSDK,但是我收到了附加的错误。附件中还附有我用来得出这些结果的代码。

这似乎是跨性别问题

但SDK有一个特定的部分。我在公司的支持下打电话,但到目前为止没什么。如果有人已经遇到过这个问题,请知道原因,或者如何解决。请帮我 ;-;

"use stricts";
/*link = http://localhost:8080/editar?&page=1&url=https://photos.google.com/lr/photo/AGj1epXDcMoRlOQ7QcWY9dZ2ALBIqhfJuTSz-ywrilsUhstrZ7wo26XkgDSBk4Jx2nJuIPm3LCFoKuo
*/
var editor;
var vars = getUrlVars();
var page = vars.page;
var url = vars.url;
window.onload = function () {
    var container = document.getElementById('editor');
    var img = new Image();
    img.src = url;
    editor = new PhotoEditorSDK.UI.ReactUI({
        container: container,
        enableUpload: false,
        crossOrigin: 'anonymous',
        editor: {
            image: img,
            responsive: true,
            enableZoom: false,
            controlsOrder: ['transform', 'filter', 'adjustments', 'focus'],
            export: {
                download: false,
                format: 'image/jpeg',
                type: PhotoEditorSDK.RenderType.BLOB
            },
        },
        //your license below
        license: 'license',
        assets: {
            baseUrl: '/assets'
        },
    });
}

function getUrlVars() {
    console.log(window.location.href);
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf("#") + 1).split("&");
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split("=");
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
<html>
<head>
<script src="/js/jquery-1.11.3.min.js"></script>
<!-- React Dependencies for the SDK UI -->
<script src="js/vendor/react.production.min.js"></script>
<script src="js/vendor/react-dom.production.min.js"></script>
<!-- PhotoEditor SDK-->
<script src="js/PhotoEditorSDK.min.js"></script>
<!-- PhotoEditor SDK UI -->
<script src="js/PhotoEditorSDK.UI.ReactUI.min.js"></script>

<link rel="stylesheet" href="css/PhotoEditorSDK.UI.ReactUI.min.css" />
</head>
<body>
<div id="editor" style="width: 100%; height: 100%; padding-top: 65px;"></div>

<script src="js/editar.js"></script>
</body>
</html>

enter image description here

javascript photoeditorsdk
2个回答
0
投票

在将图像推送到PhotoEditorSDK之前,您需要等待图像加载。

您应该将editor =代码块移动到img.onload=""方法中。

问候,


0
投票

在控制台中,出现错误消息,指出由于同源策略而无法加载资源。

您需要做的是为加载的资源启用CORS(跨源资源共享)。你可以在here找到更多信息。

但是,您可能无法控制已加载的资源(例如,允许用户通过指定外部URL来添加图像)。

在这种情况下,您应该考虑实现一个PHP“代理”,它将在您的服务器上下载图像(n.b.同源策略用于浏览器),然后将该图像提供给前端。您有两种选择:

  • 将映像存储在服务器的文件系统中并继续URL。
  • 直接向客户端提供图像内容,例如你可以在base64编码图像并通过XHR请求检索它。
© www.soinside.com 2019 - 2024. All rights reserved.