تنزيل ملف javaweb
لا تقل التنزيل باستخدام علامة <a> ، هذا سيفتح الملف بدلاً من التنزيل
على سبيل المثال:
<a href = "e: /mydesktop/37fecd65330184de67d419a8d02e7081.jpg"> تنزيل </a>
إذا كتبت بهذه الطريقة ، فسوف يفتح المتصفح الصورة مباشرة ما لم يكن ملفًا لا يمكن فتحه بواسطة المتصفح
لذلك ما زلنا بحاجة إلى استخدام Java نفسها لقراءة الملفات وكتابةها لتنزيل الملفات
<a href = "downloadFile؟ filename = <s: property value = 'document_filename'/>"> تنزيل </a>
package com.cpsec.tang.chemical.action ؛ import java.io java.text.simpleDateFormat ؛ استيراد java.util.calendar ؛ استيراد java.util.list ؛ استيراد java.util.random ؛ import javax.annotation.resource ؛ import javax.servlet.http.httpletrequest ؛ importsplet org.apache.struts2.servletactionContext ؛ استيراد org.springframework.steretype.controller ؛ استيراد com.cpsec.tang.chemical.biz.documentbiz ؛ استيراد com.cpsec.tang.chemical.entity com.opensymphony.xwork2.actionsupport ؛ controller ("documentAction") يمتد عملية الوثيقة العامة على الإجراءات {private string filename ؛ السلسلة العامة downloadFile () {system.out.println (filename) ؛ حاول {httpservletresponse استجابة = servleTactionContext.getResponse () ؛ // قم بتعيين ملف mime type. // قم بتعيين استجابة تحديد المحتوى. // احصل على المسار المطلق لسلسلة الملفات الهدف fullfilename = servleTactionContext.getServletContext (). getRealPath ("/files/" + filename) ؛ //system.out.println(fullfilename) ؛ // اقرأ الملف inputStream في = new FileInputStream (fullfilename) ؛ // اقرأ الملف الهدف واكتب الملف الهدف إلى العميل من خلال استجابة OutputStream Out = response.getOutputStream () ؛ // اكتب الملف int b ؛ بينما ((b = in.read ())! = -1) {out.write (b) ؛ } in.close () ؛ out.close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } نجاح العودة ؛ }}شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!