保存zip文件android

时间:2014-10-21 07:57:28

标签: java android

NODE.js :(压缩文件)

app.post('/api/db', function(req, res){
    if(req.body.type == 'Control'){
        var zip = new AdmZip();
        console.log(req.body.type);
        zip.addLocalFolder(__dirname +'/XXX/Temp/1');
        var willSendthis = zip.toBuffer();
        zip.writeZip(__dirname +'/files.zip');
        res.sendFile(zip);
    }
});

JAVA :(发送想要压缩文件的请求)

public class HttpAsyncTask extends AsyncTask<String, Void, String> {
                public ArrayList<String> aList= new ArrayList<String>();



            protected void onPreExecute() {
                super.onPreExecute();
            }
            protected String doInBackground(String... args) {
                List<NameValuePair> params = new ArrayList<NameValuePair>();

                params.add(new BasicNameValuePair("type", "Control"));
                JSONObject json = jsonParser.makeHttpRequest(url, type, params);
                Log.d("Create Response", json.toString());


                return null;
            }
            protected void onPostExecute(String result) {
            }
        }

JSON PARSER:

public class JSONParser {

    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";

    // constructor
    public JSONParser() {

    }

    // function get json from url
    // by making HTTP POST or GET mehtod
    public JSONObject makeHttpRequest(String url, String method,
            List<NameValuePair> params) {

        // Making HTTP request
        try {

            // check for request method
            if(method == "POST"){
                // request method is POST
                // defaultHttpClient
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(url);
                httpPost.setEntity(new UrlEncodedFormEntity(params));
                for (NameValuePair nvp : params){
                    Log.d("parameter", nvp.getName());
                    Log.d("parameter", nvp.getValue());
                }
                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();

            }else if(method == "GET"){
                // request method is GET
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(url);
                HttpResponse httpResponse = httpClient.execute(httpGet);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
            }else if(method == "PUT"){
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPut httpPut = new HttpPut(url);
                httpPut.setEntity(new UrlEncodedFormEntity(params));
                for (NameValuePair nvp : params){
                    Log.d("parameter", nvp.getName());
                    Log.d("parameter", nvp.getValue());
                }
                HttpResponse httpResponse = httpClient.execute(httpPut);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
            }else if(method == "DELETE"){
                DefaultHttpClient httpClient = new DefaultHttpClient();
                String param = null;
                for (NameValuePair nvp : params){
                    param = nvp.getValue();
                    url += "/" + param;
                    Log.d("url = ", url);
                }
                url = url.trim();
                Log.d("url = ", URLEncoder.encode(url, "UTF-8"));
                HttpDelete httpDelete = new HttpDelete(url);
                HttpResponse httpResponse = httpClient.execute(httpDelete);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
            }

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-9"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            json = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }

        // try parse the string to a JSON object
        try {
            jObj = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

        // return JSON String
        return jObj;

    }
}

我将.zip文件从服务器发送到Android设备。我想保存到android设备内存中。 如何保存由node.js服务器发送的.zip文件?

0 个答案:

没有答案