我的AngularJS网页有一个裁剪模块来创建头像,它可以生成头像作为base64字符串,如:
DataURI=
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAAu0lEQVR4Xu3UsQ0AMAzDsOb/p/tAMminTxAIz7O1wOiyFxDmkCGMMO00iCGGmFaAmNbLxxBDTCtATOvlY4ghphUgpvXyMcQQ0woQ03r5GGKIaQWIab18DD
....
tF4+hhhiWgFiWi8fQwwxrQAxrZePIYaYVoCY1svHEENMK0BM6+VjiCGmFSCm9fIxxBDTChDTevkYYohpBYhpvXwMMcS0AsS0Xj6GGGJaAWJaLx9DDDGtADGtl485en31GQBH1BvQzgAAAABJRU5ErkJggg==';
问题是我无法将此字符串放入URL并将其发送到服务器 - 尝试执行此操作时出错:
... igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP / Z。 No' Access-Control-Allow-Origin'标题出现在请求的上 资源。起源' http://192.168.0.103:8182'因此是不允许的 访问。响应的HTTP状态代码为400。
和
angular.min.js:93 GET http://localhost:8180/ChatRestNoSQLMaven/rest/AccountService/updateAvatar/7 ... oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP / Z 400()
为Javascript编码它的最佳方法是什么?
我发现了一些不能正常工作的PHP示例,但是在JS中无法解决这些问题。
PHP示例1:
function base64_url_encode($input) {
return strtr(base64_encode($input), '+/=', '-_,');
}
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_,', '+/='));
}
PHP示例2:
$str = 'Some String';
$encoded = urlencode( base64_encode( $str ) );
$decoded = base64_decode( urldecode( $encoded ) );
我的网址:
const urlUploadAvatar = "http://" + host + "/ChatRestNoSQLMaven/rest/AccountService/updateAvatar/"+securityKey+"/"+DataURI;
谢谢!