为什么我的图像上传不工作
Why is my image upload not working
我需要上传的图像上传到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;
}
}
您尝试只将文件url发送到服务器,而不发送图像本身。要将图像作为二进制数据上传,您可以使用form multipart并使用js发布表单。有很多现有的文件上传器,例如Dropzone.js你可以使用其中一个。
你不能使用普通ajax上传文件。你应该使用插件,你可以使用ajaxFileUploader插件。这对我来说很好。
Here is the link
文件上传器
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 我的django模板布尔变量是't在javascript中按预期工作
- 为什么不是'我的JS滑块正在工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 为什么jquery悬停在jsfiddle中可以工作,而在我的html布局中却不能
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 由于某种原因,我的JavaScript函数无法工作
- 为什么获胜'我的自定义功能工作
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 我的动画没有按预期工作
- 为什么不是't我的“;虚拟的“;阵列工作
- 为什么动态加载的事件在我的代码中不能正常工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 关于使用.className的建议,目前还没有;我不能在我的圈子里工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 如何获得所需的自动对焦验证以在 html 表单上工作?- 我的尝试无法验证
- 为什么不工作我的函数xmlParser().请帮帮我
- 点击后不工作我的功能
- 不工作我的ajax调用函数myalert()