في الآونة الأخيرة ، قمت بإنهاء ملفات ملفات وتنزيلها وفتحها عبر الإنترنت. في البداية ، تحتوي واجهة تحميل الملف على نماذج أخرى (مثل مربعات الإدخال وكلمات المرور وما إلى ذلك) وواجهت العديد من المشكلات أثناء عملية التحميل. أدناه كتبت برنامجًا اختبارًا يقوم في وقت واحد بتنفيذ تحميل الملفات وتنزيلها وفتحها عبر الإنترنت.
أولا ، يرجى الاطلاع على العروض:
الكود الأساسي:
حزمة com.jefry ؛ استيراد java.io.file ؛ استيراد java.io.fileInputStream ؛ استيراد java.io.ioException ؛ استيراد java.net.url ؛ استيراد java.util.arraylist ؛ استيراد java.util.iterator ؛ استيراد java.util.list ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.servletOutputStream ؛ استيراد javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httpservletrequest ؛ استيراد javax.servlet.http.httpservletresponse ؛ استيراد org.apache.commons.fileupload.fileItem ؛ استيراد org.apache.commons.fileupload.disk.diskfileItemFactory ؛ استيراد org.apache.commons.fileupload.servlet.servletfileupload ؛ / ** * فئة تنفيذ Servlet FileUpload */ الفئة العامة fileUpload تمتد httpservlet {private static final long serialversionuid = 1L ؛ Static Final String FileDir = "F:/" ؛ /*** المنشئ الافتراضي. */ public fileupload () {} doget void المحمي (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {string afiLename = request.getParameter ("filename") ؛ String Online = request.getParameter ("Online") ؛ FileInputStream في = null ؛ servleToutPutStream Out = null ؛ منطقية isonline = عبر الإنترنت! = فارغة؟ صحيح: خطأ حاول {if (isonline) {url u = url new url ("file: ///" + filedir + afilename) ؛ استجابة. استجابة. } آخر {response.setContentType ("application/x-msdownload") ؛ استجابة. } في = جديد fileInputStream (FileDir + afilename) ؛ out = response.getOutputStream () ؛ out.flush () ؛ int aread = 0 ؛ بينما ((aread = in.read ())! = -1 & in! = null) {out.write (aread) ؛ } out.flush () ؛ } catch (throwable e) {E.PrintStackTrace () ؛ } أخيرًا {try {in.close () ؛ out.close () ؛ } catch (throwable e) {E.PrintStackTrace () ؛ }}} void dopost المحمي (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {try {diskfileitemfactory filefactory = new diskfileitemfactory () ؛ servletfileUpload fu = new ServleTfileUpload (fileFactory) ؛ قائمة fileItems = fu.parserequest (request) ؛ iterator iter = fileitems.iterator () ؛ سلسلة تحميل = فارغة ؛ تاريخ السلسلة = فارغ ؛ قائمة <String> Filenks = new ArrayList <String> () ؛ بينما (iter.hasnext ()) {fileItem item = (fileItem) iter.next () ؛ if (! item.isformfield ()) {// file string oldfilename = item.getName () ؛ سلسلة newFilename = فارغة ؛ int delimiter = oldfilename.lastindexof ("/") ؛ if (delimiter == -1) newFilename = oldfilename.subString (delimiter + 1) ؛ آخر newFilename = oldfilename ؛ FileNames.Add (NewFilename) ؛ item.write (ملف جديد (FileDir + newFilename)) ؛ } آخر {// form string fieldName = item.getFieldName () ؛ if ("uploader" .equals (fieldName)) {exploader = item.getString () ؛ } آخر إذا ("Date" .equals (fieldName)) {date = item.getString () ؛ }}} request.setAttribute ("Fildenames" ، Fildenames) ؛ request.getRequestDispatcher ("download.jsp"). } catch (استثناء e) {}}} index.jsp
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <! <html> <head> <meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8"> <title> insert title هنا </title> </head> <body> <form> file = "fileupload" method = "post" enctype = "multipart/form-data" <br> الملف 2: <input type = "file" name = "file2"/> <br> تحميل: <type type = "text" name = "uploader"/> <br> التاريخ: <input type = "text" name = "date"/> <br> <input type = "prisal" value "/> </form> </body> </html>
تنزيل
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <! <٪@page import = "java.util.list" ٪> <html> <head> <meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8"> <bring> insert title هنا </title> <body> <bod ) request.getAttribute ("Fildenames") ؛ لـ (اسم ملف السلسلة: اسم الملفات) {٪> <form action = "fileUpload" method = "get"> <input type = "hidden" name = "filename" value = "<٪ = filename ٪>" /> <input type = "submit" value = "下载: <٪ = filename ٪>" أسماء الملفات) {٪> <form action = "fileUpload" method = "get"> <input type = "hidden" name = "filename" value = "<٪ = filename ٪>" /> <input type = "hidden" </html>تم تجميع هذه المقالة في "ملخص لتقنيات تشغيل Java Upload" ، وكل شخص مرحب به للتعلم والقراءة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.