View Full Version : سوال: دانلود فایل با jquery
r_khan
پنج شنبه 17 شهریور 1390, 07:59 صبح
ایا میشود با jquery فایل که در سرور قرار داره را دانلود ودر کامپیوتر کاربر ذخیره کرد
r_khan
پنج شنبه 17 شهریور 1390, 23:51 عصر
یه پلاگینی از سایتی پیدا کردم برای دانلود که سورس ان به صورت زیر است
jQuery.download = function(url, data, method){
//url and data options required
if( url && data ){
//data can be string of parameters or array/object
data = typeof data == 'string' ? data : jQuery.param(data);
//split params into form inputs
var inputs = '';
jQuery.each(data.split('&'), function(){
var pair = this.split('=');
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
});
//send request
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
.appendTo('body').submit().remove();
};
};
نحوه فراخوانی این پلاگین که خود سایت مثال زده به صورت زیر است
$.download('/export.php','filename=mySpreadsheet&format=xls&content=' + spreadsheetData );
حالا من تازه کار یه فایلی دارم به نام download.pdf که میخوام در صفحه Download.aspx وقتی کاربر برlabel کلیک کرد فایل دانلود بشه
نحوه نوشتن کد فراخوانی تابع چطور میشه توضیح هم بدید ممنون میشم
mehdi.mousavi
جمعه 18 شهریور 1390, 00:49 صبح
ایا میشود با jquery فایل که در سرور قرار داره را دانلود ودر کامپیوتر کاربر ذخیره کرد
سلام.
برای اینکار، می تونید iframe ای ایجاد کنید (بصورت hidden) و src attribute اون iframe رو
آدرس فایلی که مایلید Download بشه، set کنید.
در نهایت سمت سرور، باید مطمئن بشید که فایل با MIME Type
application/octet-stream ارسال بشه، در غیر اینصورت فایل بدرستی دریافت نخواهد شد.
موفق باشید.
پاورقی: پاسخ Andrew Dunn در این تاپیک (http://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery) کارتون رو راه میندازه.
r_khan
جمعه 18 شهریور 1390, 02:44 صبح
ممنون ولی منظورم این بود که وقتی کاربر روی لینک کلیک کرد پنجره save as باز بشه
mehdi.mousavi
شنبه 19 شهریور 1390, 12:39 عصر
ممنون ولی منظورم این بود که وقتی کاربر روی لینک کلیک کرد پنجره save as باز بشه
سلام.
پاسخی که دادم رو پیاده سازی کردید؟ وقتی روی لینک مورد نظر زده شد، یک iframe مخفی ایجاد کنید و ...
در نهایت اگر MIME Type مربوطه رو درست سمت سرور ست کنید، سمت client پنجره Save As باز میشه.
موفق باشید.
r_khan
شنبه 19 شهریور 1390, 14:40 عصر
سلام.
پاسخی که دادم رو پیاده سازی کردید؟ وقتی روی لینک مورد نظر زده شد، یک iframe مخفی ایجاد کنید و ...
در نهایت اگر MIME Type مربوطه رو درست سمت سرور ست کنید، سمت client پنجره Save As باز میشه.
موفق باشید.
استاد در باره
اگر MIME Type مربوطه رو درست سمت سرور ست کنید، میشه بیشتر توضیح بدید :خجالت:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.