Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Закачка файла.


Автор: Evropeec 10.1.2011, 18:16
Помогите,
нахожусь в тупике - смысл в том что делаю закачку файлов из мобильников с помощью сервлета. Файлы размером 1-3 Мб закачиваются без проблемм, а вот около 30 мб вообще не закачиваются и исключения даже нет. заходит в цикл и вылетает из него.

Код


    public String uploadFile(String sUrl, File file) {
        String res = null;
        try {
            _url = new URL(sUrl);

            URLConnection uc = _url.openConnection();
            uc.setDoOutput(true);
            uc.setDoInput(true);
            uc.setAllowUserInteraction(false);
            uc.setConnectTimeout(BYPConst.CONNECTTIMEOUT);
            uc.setReadTimeout(BYPConst.CONNECTTIMEOUT);

            DataOutputStream dstream = new DataOutputStream(uc
                    .getOutputStream());
            
            FileInputStream fis = new FileInputStream(file);
            
            byte bufer[] = new byte[BYPConst.BUFFERSIZE]; 
            for (int len;(len = fis.read(bufer)) != -1;) {
                dstream.write(bufer, 0, len);
            }
            
            dstream.flush();
            dstream.close();

                        ...

    }



сервлет
Код


    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        InputStream in = request.getInputStream();
        BufferedInputStream r = new BufferedInputStream(in);
        FileOutputStream fos = new FileOutputStream(new File("D:\\tmp\\A017661683789\\temp.tmp"));
        
        byte bufer[] = new byte[BYPConst.BUFFERSIZE]; 
        for (int len;(len = r.read(bufer)) != -1;) {
            fos.write(bufer, 0, len);
        }
        
        fos.flush();
        fos.close();
          ...        
    }





в чём может быть дело? Сразу скажу fileupload использовать не могу.

Автор: triclosan 10.1.2011, 19:31
а кто такой BYPConst?

Автор: Evropeec 10.1.2011, 22:45
BYPConst.CONNECTTIMEOUT = 15000
BYPConst.BUFFERSIZE = 2048

дело не в таймауте, я уже по всякому пробовал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)