jquery post ile hem dosya hemde bir parametre göndermek
arkadaşlar jquery ile resim dosyyası filan yükleyebiliyorum fakat bi türlü 2. paramtreyi göndermeyiorum
resim + bir input taki değeri göndermek istiyorum
KOD;
$(document).ready(function() {
$('#inputfile').change(function(){
var kim2 = '<?php echo $kila ?>';
var dosyauzi2 = document.getElementById('inputfile').value.split('.').pop().toLowerCase();
var tarih2 = '<?php echo $ttarrih ?>';
var toplis2 = kim2 + tarih2 + kim2 +"."+ dosyauzi2;
var file_nana = $("#imageid").val();
var file_data = $('#inputfile').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('top2', file_nana);
$.ajax({
url: "imgup.php",
type: "POST",
data: form_data,
contentType: false,
cache: false,
processData:false,
success: function(data){
console.log(data);
}
});
});
});
fakat top2 adlı paramtriy almıyor doysa imgup.php içeriği ;
<?php
session_start();
$ulan = $_SESSION['user'];
date_default_timezone_set('Europe/Istanbul');
$zaat = date(m.d.Y.H.i.s, time() + 3600);
$prototurkedit = $_POST['top2'];
$path = "uploads/";
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
if(strlen($name)) {
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats)) {
if($size<(1024*1024)) {
$image_name = $ulan.$zaat.$ulan.".".$ext;
$tmp = $_FILES['file']['tmp_name'];
if(move_uploaded_file($tmp, $path.$prototurkedit)){
echo "<img src='uploads/".$image_name."' class='preview'>";
}
else{
echo "Resim Hatalı";
..... diye gidiyor
```
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
Bununla image gönder text gonder vs vs hepsını yapar
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<div id="sonuc"></div>
<form action="foto.php" method="post" enctype="multipart/form-data" id="kapak">
<input class="file-input" type="file" name="foto" accept="image/*">
<input type="text" name="baslik">
<button name="yukle" type="submit" id="kyukle">Yükle</button>
</form>
<script>
$(document).ready(function() {
$('#kapak').on('submit', function(e) {
e.preventDefault();
$('#yukle').attr('disabled', '');
$("#sonuc").html('<img src="loading.gif" class="image" alt="Bekleyin"/>');
$(this).ajaxSubmit({
target: '#sonuc',
success: afterSuccess
});
});
});
function afterSuccess() {
$('#kapak').resetForm();
$('#yukle').removeAttr('disabled');
}
</script>
jquery form bılesenı ıle dırek formu gonderebılıyorsun
http://malsup.com/jquery/form/
Ben buna benzer bir olay yaşamıştım eğer düşündüğüm gibiyse şimdi sen new FormData() dediğin için form'u serialize şeklinde gönderiyorsun
dışardan ek bir data ekleyince hata veriyor mesela sen bunun yerine;
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('top2', file_nana);
data: form_data,
bu tarz kullansan sorun çıkmaz diye düşünüyorum tabi new FormData()'yı sileceksin
var file_nana = $("#imageid").val();
var file_data = $('#inputfile').prop('files')[0];
data: {file_nana:file_nana,file_data:file_data},
bi dene istersen.
Hocam HTML dosyanızdeki formu ve inputa gönderdiğiniz değeri öğrenebilir miyim?