Gwt kullanarak dosya yüklememe ve karşıdan yüklememe izin verecek basit bir proje hazırlıyorum. Sunucumdaki dosyaların indirilmesinde sorun yaşıyorum.Bir Servlet ile Dosya indirirken GWT nasıl kullanılır?
Dosya yükleme işlemi için http://code.google.com/p/gwtupload/ kullanmış ve talimatları takip etmiştir. Dosyam, web sitesi kapsayıcısının (sabit sürücüdeki) sunucusunda saklanır,
Şimdi bir dosyanın indirilmesi söz konusu olduğunda, bir kullanıcının bir indirme düğmesine basmasını istiyorum ve şu anda seçili olan herhangi bir öğe seçilecektir. indirin. Ben gerçekten bu
yapılacaktır dont know how i ben sadece şimdi öyleyim
test etmek için dosyayı almak için bir fileName dize geçecek an için bir indirme sunucu uygulamasınıpublic class DownloadAttachmentServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String fileName = (String) req.getSession().getAttribute("fileName");
YFUser user = (YFUser) req.getSession().getAttribute(TestServiceImpl.SESSION_USER);
if (user == null)
throw new ServletException("Invalid Session");
InputStream in = null;
OutputStream out = resp.getOutputStream();
FileInputStream fIn = new FileInputStream(fileName);
byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.flush();
}
}
gerekiyor biliyorum istemci tarafında ne yapacağını kaybolmuş, ben yukarıdaki basit
public class DownloadFilePanel extends Composite {
public DownloadFilePanel(final YFUser user , final String fileName){
final Element downloadIframe = RootPanel.get("__download").getElement();
VerticalPanel content = new VerticalPanel();
content.add(new Label("Download For this File : " + fileName));
Button button = new Button("Download");
button.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
// i do not know what to do here
});
content.add(button);
initWidget(content);
}
}
dayalı bir dosyanın indirilmesini sağlayan bir komisyon tedarik edecek basit bir widget var Bir fileName
Yukarıda görebileceğiniz gibi, ben dosyayı
bana doğru yönde işaret edebilir herhangi biri var indirmek mümkün için ne bilmiyor musunuz?
Tamam, böylece bir çapa kullanabilirim, ancak bunu nasıl download sunucuya bağlayabilirim ve dosya ismini nasıl servlet olarak bir dosya olarak iletebilirim? – molleman
Her sunucuda bir url (web.xml dosyasında belirttiğiniz) var. Bu URL’yi 'href' özniteliğine koymanız yeterlidir. Ayrıca, dosya adı '? Filename = abcd.txt & otherParam = otherValue' gibi bir URL parametresi olarak iletilebilir. Sunucunuzda, 'request.getParameter (" filename ")' ' –
numaralı telefonu arayarak dosya ismini alabilirsiniz. Teşekkürler sri, şu anda çalışıyor – molleman