سؤال

لا أعرف حتى ما إذا كان هذا ممكنًا أم لا ، لكن هل هناك طريقة يمكنك أخذ قيمة الملف المحدد في إدخال ملف حقل إلى مدخلات نص مجال؟

مثله:

alt text

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

المحلول

ربط على change حدث حقل الملف.

<form method="post" enctype="multipart/form-data">
    <input type="file" onchange="this.form.filename.value = this.value">
    <input type="text" name="filename">
</form>

JSfiddle Demo. لاحظ أن IE6/7 يعطي المسار الكامل بشكل غير صحيح بينما يعطي المتصفحات الأخرى بشكل صحيح فقط اسم الملف.

نصائح أخرى

يجب أن يكون هذا ممكنًا عن طريق إنشاء عنصر إدخال نص جديد وملءه مع .value خاصية إدخال الملف.

لاحظ ، مع ذلك ، أن جميع المتصفحات الحديثة فقط اسم الملف في ال value الممتلكات لأسباب أمنية. لن تتمكن من الحصول على المسار الكامل للملف المحدد.

مصادر: MSDN على IE8

لا يمكنك القيام بذلك دون تخزين الملف أولاً على الخادم الخاص بك.

عنصر التحكم في إدخال الملف يعمل ليس تحتوي على بيانات الملف. يوفر لك متصفحك لك حاملًا نائبًا حتى تقوم بإرسال بيانات الملف عبر تقديم نموذج نشر.

إذا كنت بعد مسار الملف ، فلا يمكنك أيضًا القيام بذلك (في المتصفحات الحديثة ، كما تقول Pekka). لا يعطي المتصفح هذه المعلومات إلى البرامج النصية من جانب العميل. قد يوفر اسم الملف ، ولكن.

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