الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رفع صور و عرضها من الجهاز الى السيرفر

بدأه maizer99 في 9 أبريل 2011 · 8 رد · 1,222 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحياتي الى اعضاء المنتدى الكرام

كيف يمكن عمل كود لرفع الصور من جهاز العميل و تغير اسم الصوره و تخزينها على السيرفر و تخزين المسار في الداتا بيز

شاهدت امثله عن طريق ال ByteBuffer و لكنها طريقه طويله و معقده بعض الشئ

#2

تفضل :

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;



/**
 *
 * @author Admin
 */
public class uploadServlet extends HttpServlet {
   private static final String TMP_DIR_PATH = "c:\\tmp";
        private File tmpDir;
        private static final String DESTINATION_DIR_PATH ="/files";
        private File destinationDir;




    @Override
  public void init(ServletConfig config) throws ServletException
    {
         super.init(config);

        tmpDir = new File(TMP_DIR_PATH);
                if(!tmpDir.isDirectory()) {
                        throw new ServletException(TMP_DIR_PATH + " is not a directory");
                }
                String realPath = getServletContext().getRealPath(DESTINATION_DIR_PATH);
                destinationDir = new File(realPath);
                if(!destinationDir.isDirectory()) {
                        throw new ServletException(DESTINATION_DIR_PATH+" is not a directory");
                }

    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */



    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        PrintWriter out = response.getWriter();
            response.setContentType("text/plain");
            out.println("<h1>Servlet File Upload Example using Commons File Upload</h1>");
            out.println();

                DiskFileItemFactory  fileItemFactory = new DiskFileItemFactory ();
                /*
                 *Set the size threshold, above which content will be stored on disk.
                 */
                //fileItemFactory.setSizeThreshold(1*1024*1024); //1 MB
                /*
                 * Set the temporary directory to store the uploaded files of size above threshold.
                 */
                fileItemFactory.setRepository(tmpDir);

                ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
                try {
                        /*
                         * Parse the request
                         */
                        List items = uploadHandler.parseRequest(request);
                        Iterator itr = items.iterator();
                        while(itr.hasNext()) {
                                FileItem item = (FileItem) itr.next();
                                /*
                                 * Handle Form Fields.
                                 */
                                if(item.isFormField()) {
                                        out.println("File Name = "+item.getFieldName()+", Value = "+item.getString());
                                } else {
                                        //Handle Uploaded files.
                                        out.println("Field Name = "+item.getFieldName()+
                                                ", File Name = "+item.getName()+
                                                ", Content type = "+item.getContentType()+
                                                ", File Size = "+item.getSize());
                                        /*
                                         * Write file to the ultimate location.
                                         */
                                        File file = new File(destinationDir,item.getName());
                                        item.write(file);
                                }
                                out.close();
                        }
                }catch(FileUploadException ex) {
                        log("Error encountered while parsing the request",ex);
                } catch(Exception ex) {
                        log("Error encountered while uploading file",ex);
                }

        }

    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */

تحتاج للمكتبة :commons.appache.io

رابطها:

http://commons.apache.org/io/download_io.cgi

هذا كل شيء :)

تحياتي

1

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#3

Make it run, make it right, make it fast, make it small

#4
KARIMSOFT كتب:

Make it run, make it right, make it fast, make it small

what do you mean?

make it clear


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#5

ان نصنع ما نعرفه ثم نطوره هذا تعليق علي ما سلف من مقدم المشكلة

#6
KARIMSOFT كتب:

ان نصنع ما نعرفه ثم نطوره هذا تعليق علي ما سلف من مقدم المشكلة

رأى صائب اخى كارم

تقبل تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

اسف على الأزعاج

عندين استفسارين لو سحتوووو

1- اي المكتبات التي يجتاجه الكود لاني دخلت الموقع وصراحة ماعرفت اي مكنبه خاصه بالكود.

2-كيف يتم تخزين الملف من هذا الكود من قبل المستخدم وتخزينها ب DB وفي المستقبل يستطيع المستخدم تحميل الملف الموجود داخل DB

اكرر اسفي.....

#8

بالنسبة للمكتبة تفضل أخي الكريم :

http://mirrors.isu.net.sa/pub/apache//commons/io/binaries/commons-io-2.0.1-bin.zip

إن كان الملف صورة ، فارفعه إلى أحد مجلدات السيرفر وخزن الرابط في قاعدة البيانات.

تحياتي

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#9

اخي JavaPorgrammer شاكر لك جهودك الا محدوده

انا اريد انا ارفع الملفات تكون اما بي امتداد zip او PDF كيف يتم تحميل الرابط داخل DB بشكل الي يعني لما احمل الملف يتم نخزينه داخل DB مباشره...

مواضيع مشابهة