我需要将下载的图像上传到下一页底部的dropzone元素:
>
在我的插入按钮中,我得到每张图片的src
和filenames
,如下所示:
var img_arr = [];
var img_arr_filenames = [];
var i=0;
$("#my-dropzone img").each(function(){
img_arr.push(this.src);
img_arr.push("%imgend%");
img_arr_filenames.push(this.alt);
img_arr_filenames.push("%filenameend%");
});
var imgs = img_arr;
var img_names = img_arr_filenames;
然后通过ajax将信息发送到php函数:
$.ajax({
url: 'http://betastream.com.au/skybidv3/auth/insert_auction/',
type: 'POST',
data: (imgs:imgs, img_names:img_names}),
success: function(html) {
alert("Auction Added");
}
})
尝试在php函数上编写图像,但服务器上没有写入图像,我做错了什么?
function insert_auction()
{
$img_names_array = explode("%filenameend%", $_POST['img_names']);
$imgs_array = explode("%imgend%", $_POST['imgs']);
$i = 0;
foreach ($imgs_array as $temp)
{
$img = $temp;
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = 'testimage.png';//$img_names_array[$i];
$success = file_put_contents($file, $data);
$i = $i+1;
}
}
答案 0 :(得分:0)
您尝试仅将文件ulrs发布到服务器,但不是图像本身。要将图像上传为二进制数据,您可以使用表单multipart并使用js发布表单。有很多现有的文件上传器,例如Dropzone.js你可以使用其中一个。
答案 1 :(得分:0)