boolean commandSTOR()
	    {
	        if(param.equals(""))
	        {
	            reply = "501 参数语法错误";
	            return false;
	        }
	        requestfile = addTail(dir)+param;
	        if(type == FtpState.FTYPE_IMAGE)//bin
	        {
	            try
	            {
	                ctrlOutput.println("150 Opening Binary mode data connection for "+ requestfile);
	                dataSocket = new Socket(remoteHost,remotePort,InetAddress.getLocalHost(),20);
	                BufferedOutputStream fout = new BufferedOutputStream(new FileOutputStream(requestfile));
	                BufferedInputStream dataInput = new BufferedInputStream(dataSocket.getInputStream());
	                byte[] buf = new byte[1024];
	                int l = 0;
	                while((l = dataInput.read(buf,0,1024))!=-1)
	                {
	                    fout.write(buf,0,l);
	                }
	                dataInput.close();
	                fout.close();
	                dataSocket.close();
	                reply = "226 传输数据连接结束";
	            }
	            catch(Exception e)
	            {
	                e.printStackTrace();
	                reply = "451 请求失败: 传输出故障";
	                return false;
	            }
	        }
	        if(type == FtpState.FTYPE_ASCII)//ascII
	        {
	            try
	            {
	                ctrlOutput.println("150 Opening ASCII mode data connection for "+ requestfile);
	                dataSocket = new Socket(remoteHost,remotePort,InetAddress.getLocalHost(),20);
	                PrintWriter fout = new PrintWriter(new FileOutputStream(requestfile));
	                BufferedReader dataInput = new BufferedReader(new InputStreamReader(dataSocket.getInputStream()));
	                String line;
	                while((line = dataInput.readLine())!=null)
	                {
	                    fout.println(line);                    
	                }
	                dataInput.close();
	                fout.close();
	                dataSocket.close();
	                reply = "226 传输数据连接结束";
	            }
	            catch(Exception e)
	            {
	                e.printStackTrace();
	                reply = "451 请求失败: 传输出故障";
	                return false;
	            }
	        }
	        return false;
	    }