مشكلة إرسال بيانات نشر إضافية إلى الخادم مع التحميل

StackOverflow https://stackoverflow.com/questions/1970558

  •  21-09-2019
  •  | 
  •  

سؤال

أنا أستخدم تحميل على صفحة تتيح للمستخدم تحميل الصور بالإضافة إلى حقل فئة لإرسال تلك الصور. الآن ، أرى أن exploadify يوفر طريقة "ScriptData" التي تتيح لي إرسال أزواج القيمة الرئيسية إلى البرنامج النصي eploadify.php. ولكن المشكلة هي أن طريقة ScriptData تستحوذ على قيمها عند تحميل الصفحة (تحميل التهيئة). وبالتالي ، عندما يكون المستخدم في تغيير القيم ، لا يزال ScriptData يحتوي فقط على القيم الافتراضية التي كانت موجودة في تحميل الصفحة.

هل هناك أي طريقة للتغلب على هذه؟

مليون شكرا!

حل ممكن: كنت أقرأ الدليل أكثر واكتشف أنه يمكنك تغيير الإعدادات من خلال مكالمة الوظيفة. ربما على المسار الصحيح؟

$('#fileInput').uploadifySettings('scriptData', getKeyValuePairs()).uploadifyUpload();

العمل عليها الآن ..

هل كانت مفيدة؟

المحلول

ستحتاج إلى جلب الوضع الحالي لإدخال المستخدم من خلال أحد عمليات الاتصال الخاصة بـ Uploadify: OnoPen أو OnSelect. انظر لهم توثيق للواحد الصحيح. أعتقد أن OnoPen أكثر موثوقية لأنه سيتحقق من الوضع الحالي لإدخال المستخدم في كل مرة يتم فيها تشغيل التحميل. ومع ذلك ، قد تحتاج إلى تعطيل مدخلات المستخدم الأخرى أثناء التحميل الجاري ، أو لا يزال يطلب من المستخدم إرسال النموذج ، وإلا فإن أي إدخال مستخدم يتم بعد بدء التحميل الأخير سيتم فقدانه.

على أي حال ، لقد وجدت هذا في المنتدى الخاص بهم ، والذي كنت سأضعه على onOpen أتصل مرة أخرى:

$('#fileInput2').uploadifySettings(
'scriptData', 
{'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
);

سيكون التنفيذ النهائي (باستخدام الرمز التجريبي):

<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader'  : 'uploadify.swf',
'script'    : 'uploadify.php',
'cancelImg' : 'cancel.png',
'auto'      : true,
'folder'    : '/uploads',
'onOpen' : function(){
$('#fileInput').uploadifySettings(
    'scriptData', 
    {'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
    );
}
});
});
// ]]></script>

نصائح أخرى

بجانب وضع الكود لتحديث ScriptData داخل OnoPen ، يمكنك أيضًا القيام بذلك قبل بدء التحميل. يمكن القيام بذلك إذا قمت بتعيين تلقائي على خطأ ، لذلك ستحتاج إلى الاتصال uploadifyUpload() يدويًا.

ألق نظرة على الإجابات المقبولة في هذا الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top