-1
私はajaxで画像をアップロードしていますが、ajax呼び出し中にアップロードされたファイルのtmp名を設定したいのですが、undefined
を返します。ajax jQueryファイルでtmp名を取得するには?
これは私のコードです:
ここfunction imageIsLoaded(e) {
$("#file").css("color", "red");
$('#image_preview').css("display", "block");
$('#previewing').attr('src', e.target.result);
//$('#previewing').attr('src', imagetempname);
$('#previewing').attr('width', '150px');
$('#previewing').attr('height', '150px');
//alert(e.target.result);
};
$("#file").change(function() {
$("#message").empty(); // To remove the previous error message
var file = this.files[0];
var imagefile = file.type;
var imagename = file.name;
var imagetempname = file.tmp_name;
var match = ["image/jpeg", "image/png", "image/jpg"];
if (!((imagefile == match[0]) || (imagefile == match[1]) || (imagefile == match[2]))) {
$('#previewing').attr('src', 'noimage.png');
$("#message").html("<p id='error'>Please Select A valid Image File</p>" + "<h4>Note</h4>" + "<span id='error_message'>Only jpeg, jpg and png Images type allowed</span>");
return false;
} else {
var reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
document.getElementById("imagename").value = imagename;
alert(imagetempname);
document.getElementById("imagetmpname").value = imagetempname;
}
});
I alert(imagetempname);
、それはundefined
を返しますとき。
「imageIsLoaded」はどこに定義されていますか? – Rayon
コードをインデントしてください。 – Jolta
'' 'file.temp_name'''は何になると思いますか? temp_nameはphpの属性で、tempディレクトリに画像がアップロードされたときに利用できます。あなたは何を得ようとしているのですか?あなたはファイルをアップロードしていません。これはjavascriptで利用できません。それはサーバー側です(phpで利用可能です)。 ajaxを使用して画像をアップロードし、ajax要求の応答としてtemp_fileをクライアントに送信することができます。 –