ارسال فایل به سرور بدون فرم و با ایجکس
سلام
من میخوام با جاوا اسکریپت فایلی رو به سرور ارسال کنم اونم به تکنولوژی ایجکس. نمیخوام از فرم هم استفاده کنم. از جی کوئری و کتابخانه های دگه هم نمیخوام استفاده کنم.
اینجا یه مثالی گذاشته:
http://stackoverflow.com/questions/1...d-without-form
کد HTML:
var xmlHttpRequest = new XMLHttpRequest();
var file = ...file handle...
var fileName = ...file name...
var target = ...target...
var mimeType = ...mime type...
xmlHttpRequest.open('POST', target, true);
xmlHttpRequest.setRequestHeader('Content-Type', mimeType);
xmlHttpRequest.setRequestHeader('Content-Disposition', 'attachment; filename="' + fileName + '"');
xmlHttpRequest.send(file);
ولی نگفته باید به جای ...file handle... چی قرار بدم؟
نقل قول: ارسال فایل به سرور بدون فرم و با ایجکس
چرا زا formData استفاده نمیکنی ؟
var myFormData = new FormData();
myFormData.append('pictureFile', pictureInput.files[0]);
xmlHttpRequest.send(FormData);
نقل قول: ارسال فایل به سرور بدون فرم و با ایجکس
نقل قول:
نوشته شده توسط
plague
چرا زا formData استفاده نمیکنی ؟
var myFormData = new FormData();
myFormData.append('pictureFile', pictureInput.files[0]);
xmlHttpRequest.send(FormData);
نمیخوام ازش استفاده کنم چون توی qml ازش پشتیبانی نمیشه.
اگه راهی رو میشناسید که به new FormData() نیاز نداشت بگید. از کتابخانه های جاوا اسکریپت مثل جی کوئری هم نمیخوام استفاده کنم.
نقل قول: ارسال فایل به سرور بدون فرم و با ایجکس
خب من تا حالا انجام ندادم ولی تو مثال اولی که خودت زدی handle file یه چیزی شبیه به این میشه
document.getElementById('xxxx').files[0]
نقل قول: ارسال فایل به سرور بدون فرم و با ایجکس
فکر میکنم یه چیزی کم داره:
کد HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function tabe(){
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.addEventListener('load', function(){
alert(this.responseText);
});
var myFileList = document.getElementById('files').files;
var file = myFileList[0];
var filename = file.name;
var mimeType = file.type;
xmlHttpRequest.open('POST', "get.php", true);
xmlHttpRequest.setRequestHeader('Content-Type', mimeType);
xmlHttpRequest.setRequestHeader('Content-Disposition', 'attachment; filename="' + filename + '"');
xmlHttpRequest.send(file);
}
</script>
</head>
<body>
<form action="get.php" enctype="multipart/form-data" method="post">
<input id="files" name="filename" type="file">
<input type="button" value="آپلود فایل" onclick="tabe();">
</form>
</body>
</html>
چون مقدار خالی ارسال میکنه.