Saturday, October 26, 2002

Siteye Dosya Yüklemek (Upload)

İçerik idare eden ve yayınlayan siteler (portal), belli bir süre sonra resim ve xml içeriksel nesneleri, kullanıcılarının tarafından siteye "yüklenebilmesini" isteyebilirler. Dosya yüklemek (upload), birçok diğer İnternet bazlı uygulamalarda karşımıza çıkıyor. Yahoo Mail, mesela, eklenti olarak e-mektubunuza bir resim, ya da belge ekleyebilmeniz için, aynı tür bir özelliği desteklemektedir.

Java dünyasında bunu gerçekleştirmenin kısa bir yolu, Jakarta FileUpload paketini kullanmaktır. Bu paket, JSP kodu içinden dosya yüklemek, dosyaların büyüklüğünü kontrol etmek, istediğimiz dizin konumuna yazmak gibi güzel özellikler sâğlıyor.

Kullanım oldukça basit. FileUpload paketinden çıkan jar dosyalarını gerekli yerlere koyduktan sonra, aşağıdaki gibi iki JSP sayfası yükleme yeteneğini sitemize sağlayacaktır.






Yuklenecek Dosyayi Secin:










<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.io.*" %>

<% // Yukleyici yardimci nesneyi yarat DiskFileUpload yukleyici = new DiskFileUpload(); int bellekUstSinir = 350000; int istekUstSinir = 90000; // yuklenebilecek dosya ust siniri 90 Kilobayt String geciciDosyaDizini = "c:/temp"; // // Parse the request // try { List dosyalar = yukleyici.parseRequest(request, bellekUstSinir, istekUstSinir, geciciDosyaDizini); Iterator i = dosyalar.iterator(); while (i.hasNext()) { FileItem fi = (FileItem)i.next(); File f = new File("c:/temp/" + fi.getName()); fi.write(f); } out.print ("tamam"); } catch (Exception e) { out.print("Dosya Cok Buyuk! Bu kadarina izin yok..."); } %>



Not: Kod düzeni açısından yukarıdaki cikart_isle.jsp JSP kod parçasını, sayfadan alıp bir Servlet içine de koyabilirsiniz.

No comments: