بتاريخ: 28 أغسطس 201411 سنة comment_254173 السلام عليكم ي باش مهندسين (طريقة تخزين الصور على مجلد على السيرفر ) وهذا هو كود uplode وهو يعمل بصوره صحيحه ويقوم بوضع الصوره على المجلد المطلوب بس المشكلة فى استرجاع الصوره باستخدام servlet ايضا الكود الى استخدمته موجود ادناه package servlet;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import oracle.adf.model.BindingContext;import oracle.adf.model.binding.DCBindingContainer;import oracle.jbo.Row;import org.apache.myfaces.trinidad.model.UploadedFile;public class uplode { private UploadedFile file; public uplode() { } public String uploadAction() { // Add event code here... String imageFolder = "D:\\store\\"; File myFiles = new File(imageFolder); String newImageFile = imageFolder + getCurrentEmp() + ".png"; // Image and Path try { InputStream inputStream = getFile().getInputStream(); FileOutputStream outStream = new FileOutputStream(newImageFile); // haktob feh byte[] buffer = new byte[8192]; int butesRead = 0; while ((butesRead = inputStream.read(buffer)) != -1) { outStream.write(buffer, 0, butesRead); // 0 > men makan manta waef } outStream.flush(); outStream.close(); inputStream.close(); getFile().dispose(); } /* catch (Exception e) { } */ catch(FileNotFoundException fnfe) { fnfe.printStackTrace(); } catch(IOException ioe) { ioe.printStackTrace(); } return null; } public String getCurrentEmp() { // Get Esm El mowazaf DCBindingContainer dcbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); Row row = dcbc.findIteratorBinding("ExpView1Iterator").getCurrentRow(); String name = null; if (row != null) { name = (String)row.getAttribute("Sub"); } return name; } public void setFile(UploadedFile file) { this.file = file; } public UploadedFile getFile() { return file; }}///////////////////////////////////////////////////////////////////////////////////////////////////servlet code package servlet;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import javax.imageio.ImageIO;import javax.servlet.*;import javax.servlet.http.*;public class Show extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=UTF-8"; public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("image/png"); String imageName = request.getParameter("imName"); // nafs esm El Emp OutputStream output = response.getOutputStream(); String image = "D:\\store\\" + imageName + ".png"; File imageFile = new File(image); BufferedImage input = ImageIO.read(imageFile); ImageIO.write(input, "PNG", output); try { output.flush(); output.close(); } catch (IOException ioe) { // TODO: Add catch code ioe.printStackTrace(); } }}calling servlet in source of imeage component/show?imName=#{bindings.Sub.inputValue} بس المشكلة انو الصوره مابتظهر على المتصفح lمرفق لكم الصوره وكذلك بيطلع IO EXCEPTION AND CANNOT RED FILE فى الجافا دفولبر فى ال log ارجو منكم المساعدة جزاكم الله خيرا وزادكم علما تقديم بلاغ
بتاريخ: 29 أغسطس 201411 سنة كاتب الموضوع comment_254188 شباب مافى حد واجهته هذه المشكلة من قبل ....... تقديم بلاغ
بتاريخ: 30 أغسطس 201411 سنة comment_254211 طيب بدل من انك تكتب كود سيرفلت علشان تقرا وهى اصلا موجودة فى مسار محدد خلى خاصية source للكومبوننت af:image تساوى d:/store/#{bindings.sub.inputValue}.png انا جربتها قبل كده على relative path حاول انت تجربها على absolute path تقديم بلاغ
بتاريخ: 4 سبتمبر 201411 سنة كاتب الموضوع comment_254457 شكرا على المرور اخى الكريم بس الصفحة اشتغلت واتضح انو المشكلة فى الكوكيز فى البراوزر ويظهر ذلك الخطا فى log file و عندما امسحها بتم تحميل الصوره فى الملف وعرضها على البراوزر لانه من الخطا برمجيا ان نجعل المستخدم يقوم بمسح الكويكز بنفسه بس ازاى احل هذه المشكلة ى باش مهندسين عاوز اقتراحاتكم جزاكم الله خيرا تقديم بلاغ
بتاريخ: 7 سبتمبر 201411 سنة كاتب الموضوع comment_254529 ى مهندسن هذا هو الخطا الذى ينتج بعد رفع الصوره على المجلد ( ولايتم عرضها فى البراوزر) <07/09/2014 AST 03:42:28 م> <Error> <HTTP> <BEA-101017> <[servletContext@19028937[app:palacesys module:palacesys-ViewController-context-root path:/palacesys-ViewController-context-root spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@2d5cef[GET /palacesys-ViewController-context-root/show?imName=%D8%B9%D9%82%D8%AF HTTP/1.1User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0Accept: image/png,image/*;q=0.8,*/*;q=0.5Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateReferer: http://127.0.0.1:7101/palacesys-ViewController-context-root/faces/exp.jsp?_adf.ctrl-state=dlb4xfmbg_4Cookie: JSESSIONID=D1v5JMST8L29LVLpSGL18mtyd5dThn4RFHHwCt7XCTJQ0ZLsBQ81!-1018725435Connection: keep-alive]] Root cause of ServletException.javax.imageio.IIOException: Can't read input file! at javax.imageio.ImageIO.read(ImageIO.java:1275) at view.Show.doGet(Show.java:29) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) Truncated. see log file for complete stacktrace> وعندما اقوم بمسح الكويكز من البراوزر واعادة تشغيله من جديد يتم رفع الصوره على المجلد بنجاح وكذك عرض الصوره على البراوزر فهل ي ترا توجد اعدادات معينة لابد ان اقوم بعملها ام كود اقوم بكتابته ارجو منكم المساعدة ي اهل الخبرة وجزاكم الله خيرا وزادكم علما تقديم بلاغ
بتاريخ: 8 سبتمبر 201411 سنة كاتب الموضوع comment_254556 شكرا ى باش مهندس صطفى على مرورك بس حضرتك اذا كنت تقصد المجلد الذى اقوم بتخزين الصور فيه واسترجاع الصور منه فهو فى هذا المسار "c:\\store\\" فى uplode methoed and servlet كما موضح فى الكود المرفق فى المشاركه بس لم اعرف ما هى المشكلة بالتحديد ارجو المساعدة وجزاك الله خير تقديم بلاغ
بتاريخ: 12 سبتمبر 201411 سنة كاتب الموضوع comment_254724 شكرا لك ي باش مهندس مصطفى بس من عملية compile لايوجد اخطاء فى الكود بس بيظهر فى log بعد رفع اول صوره Cookie: JSESSIONID=D1v5JMST8L29LVLpSGL18mtyd5dThn4RFHHwCt7XCTJQ0ZLsBQ81!-1018725435Connection: keep-alive تقديم بلاغ
بتاريخ: 22 سبتمبر 201411 سنة كاتب الموضوع comment_255131 شكرا ى باش مهندس على المرور بس لو مكن تورينى عمل debug لى java class ولا الصفحه نفسها ز جزاك الله خير تقديم بلاغ
بتاريخ: 30 سبتمبر 201411 سنة comment_255347 ضع break point في المكان الذي تريد التوقف عنده ثم شغل الملف من خلال debug ومن ثم يمكن التنقل باستخدام شريط الـ debug تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.