gpt4 book ai didi

javascript - PHP服务器只接受部分图片,跨域

转载 作者:行者123 更新时间:2023-11-30 05:41:31 25 4
gpt4 key购买 nike

编辑
感谢大家的帮助,我决定将前端移到后端服务器,其他部分使用旧的前端服务器。再次谢谢你。如果有人能回答这个问题,我仍然会奖励最佳答案和一些赞成票。这真是令人难以置信。作为我的感谢,这是一张猫的照片。


(来源:placekitten.com)

我正在通过 ajax 将图像数据从我的 javascript 发送到我的其他服务器上的 php,以解析数据、保存数据并返回图像链接。 (是的,它必须是两个服务器)我可以发送一些图像,但我的一半测试图像返回错误。

XMLHttpRequest cannot load *php-file-on-recieving-server*. Origin *sending-server* is not allowed by Access-Control-Allow-Origin.

这是javascript

$.ajax({
url: '*php-file-on-recieving-server*',
type: 'POST',
data: {
urlordata: false,
room: 'Math',
data: e.target.result
},
success: function(data) {
$('.t'+thumbNumberCounter).attr('src', data);
},
error: function(xhr, status, error) {
$('.t'+thumbNumberCounter).attr('src', '*error-image*');
}
});

这是PHP

<?php

error_reporting(E_ERROR | E_PARSE);

header('Access-Control-Allow-Origin: *sending-server*');

$room = $_POST['room'];
$filename = $room.uniqid('_');

$data = $_POST['data'];
$uri = substr($data, strpos($data,",")+1);
$encodedUri = str_replace(' ','+',$uri);
file_put_contents('*folder-where-images-are-stored*'.$filename, base64_decode($encodedUri));

echo '*folder-where-images-are-stored*'.$filename;
?>

图像是否有任何原因会导致它说不允许跨域?我特意授予了它许可,它可以与其他图像一起使用。只是不是我尝试过的一些。会不会是图片的大小?

编辑

这是我的网络选项卡关于失败请求的内容。

请求网址:*接收服务器*

请求 header
接受:*/*
内容类型:application/x-www-form-urlencoded;字符集=UTF-8
来源:*发送服务器*
Referer:*发送服务器*
用户代理:Mozilla/5.0 (X11; CrOS i686 4319.96.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.74 Safari/537.36

表格数据
urlordata:false
房间:数学
data:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAPACAIAAAaqgF+sAA……(很长)

最佳答案

将这三个服务器变量转储到图像接受服务器 'REMOTE_ADDR'、'REMOTE_HOST'、'REMOTE_PORT' 上成功和不成功请求的文件中,并比较它们。

关于javascript - PHP服务器只接受部分图片,跨域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com