public boolean httpPostWithFile(String url, String queryString,
			List<QParameter> files, QAsyncHandler callback, Object cookie) {
		if (url == null || url.equals("")) {
			return false;
		}
		url += '?' + queryString;
		PostMethod httpPost = new PostMethod(url);
		List<QParameter> listParams = QHttpUtil.getQueryParameters(queryString);
		int length = listParams.size() + (files == null ? 0 : files.size());
		Part[] parts = new Part[length];
		int i = 0;
		for (QParameter param : listParams) {
			parts[i++] = new StringPart(param.mName,
					QHttpUtil.formParamDecode(param.mValue), "UTF-8");
		}
		try {
			for (QParameter param : files) {
				File file = new File(param.mValue);
				parts[i++] = new FilePart(param.mName, file.getName(), file,
						QHttpUtil.getContentType(file), "UTF-8");
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return false;
		}

		httpPost.setRequestEntity(new MultipartRequestEntity(parts, httpPost
				.getParams()));
		mThreadPool.submit(new AsyncThread(httpPost, callback, cookie));
		return true;
	}