使用ajax将图像上传到imgur
我正在尝试从同一页面上的imgur加载图像,而无需重新加载。 我用ajax
来执行它。
我尝试没有ajax
,它工作正常,但它重新加载页面。 所以我添加了以下ajax代码,现在图像根本没有加载。 我做错了什么,我该如何解决?
$(document).ready(function() { function onsuccess(response, status) { $("#onsuccessmsg").html("Status :" + status + '
Response Data :' + response + ''); } $("#uploadform").on('submit', function() { var options = { url: $(this).attr("action"), success: onsuccess }; $(this).ajaxSubmit(options); return false; }); });
这是php代码:
upload.php的
<?php $img=$_FILES['img']; if(isset($_POST['submit'])){ if($img['name']==''){ echo "An Image Please.
"; }else{ $filename = $img['tmp_name']; $client_id="my-id"; $handle = fopen($filename, "r"); $data = fread($handle, filesize($filename)); $pvars = array('image' => base64_encode($data)); $timeout = 30; $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json'); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id)); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars); $out = curl_exec($curl); curl_close ($curl); $pms = json_decode($out,true); https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url=$pms['data']['link']; if(https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url!=""){ echo "Uploaded Without Any Problem
"; echo ""; }else{ echo "There's a Problem
"; echo $pms['data']['error']; } } } ?>
更新
这是一张图片:AJAX请求/响应
An Image Please."; }else{ $filename = $img['tmp_name']; $client_id="my-id"; $handle = fopen($filename, "r"); $data = fread($handle, filesize($filename)); $pvars = array('image' => base64_encode($data)); $timeout = 30; $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json'); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id)); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars); $out = curl_exec($curl); curl_close ($curl); $pms = json_decode($out,true); https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url=$pms['data']['link']; if(https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url!=""){ echo "Uploaded Without Any Problem
"; echo ""; }else{ echo "There's a Problem
"; echo $pms['data']['error']; } } ?>
你不需要
if(isset($_POST['submit']))
在upload.php中