dropzone-Httpclient

DropZone.js 和 JAVA远程调用接口

	<body>
	<form action=${ctx}/xyPtapllyOwn/saveUploadFile method="post" class="dropzone" name="filess" id="filess" enctype="multipart/form-data">
			<div class="fallback">
				<input name="filess" type="file" multiple />
			</div>
		</form>
		</body>
<script type="text/javascript">
	Dropzone.autoDiscover = false;
	$(".dropzone").dropzone({
		url : root + '/xyPtapllyOwn/saveUploadFile',
		paramName: "filess",
		maxFilesize: 2048, // 上传的文件大小
		maxFiles:1,//一次性上传的文件数量上限
		addRemoveLinks : true,//添加移除文件
		autoProcessQueue: true,//不自动上传
		dictCancelUploadConfirmation:'你确定要取消上传吗?',
		dictMaxFilesExceeded: "只能上传{{maxFiles}}个文件",
		dictFileTooBig:"文件过大({{filesize}}MB). 上传文件最大支持: {{maxFilesize}}MB.",
		dictDefaultMessage :
				'<span class="bigger-10 bolder"> </span> \
	            <span class="smaller-50 grey"></span> <br /> \
	            <i class="upload-icon icon-cloud-upload grey icon-3x" style="font-size: 26px">将文件拖拽到此处或点击打开文件管理器选择文件 再点击提交</i>',
		dictResponseError: '文件上传失败!',
		dictCancelUpload: "取消上传",
		dictCancelUploadConfirmation: "你确定要取消上传吗?",
		dictRemoveFile: "移除文件",
		uploadMultiple:false,
		autoProcessQueue: false,
		init: function() {
			var submitButton = document.querySelector("#submit-all")
			myDropzone = this;
			submitButton.addEventListener("click", function() {
				myDropzone.processQueue();
			});

			//上传文件时触发的事件
			this.on("addedfile", function(file) {
				//浏览器控制台输出js
			});
			//上传文件成功时触发的事件
			this.on("success", function(file, response) {
				if (response == false) {
					alert("上传失败, 请移除文件重新上传");
				}
			});
			//移除文件触发的事件
			this.on("removedfile", function(file) {
			});
		}
	});
</script>
 @RequestMapping(value = {"/saveUploadFile"}, method = RequestMethod.POST)
    @ResponseBody
    public String saveUploadFile(@RequestParam("filess") MultipartFile filess) throws Exception {
        if (filess.isEmpty()) {
            return "false";
        }
        // 根据名称获取自有文件夹路径
//          filess.transferTo(new File(savePath + fileName)); // 保存文件
            return "true";
        } catch (Exception e) {
            e.printStackTrace();
            return "false";
        }
    }

远程调用

import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.PrivateKey;
import java.util.Map;

public class ConnectedUtil {

    //获取连接的方法
    public static JSONObject getConnection(String URL, Map<String, Object> map) throws Exception {
        String result = "";
        // 建立连接
        java.net.URL url = new URL(URL);
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        // 设置参数
        httpConn.setDoOutput(true); // 需要输出
        httpConn.setDoInput(true); // 需要输入
        httpConn.setUseCaches(false); // 不允许缓存
        httpConn.setRequestMethod("POST");// 设置POST方式连接
        // 设置请求属性
        httpConn.setRequestProperty("Content-Type", "application/json");
        httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
        httpConn.setRequestProperty("Charset", "UTF-8");
        // 连接,也可以不用明文connect,使用下面的httpConn.getOutputStream()会自动connect
        httpConn.connect();
        Object jsonObject = JSONObject.toJSON(map);
//            JSONObject jsonObject = JSONObject.fromObject(map);
        // 建立输入流,向指向的URL传入参数
        DataOutputStream dos = new DataOutputStream(httpConn.getOutputStream());
        dos.write(jsonObject.toString().getBytes("UTF-8"));
        dos.flush();
        dos.close();
        // 获得响应状态
        JSONObject jsonmsg = null;
        BufferedReader in = null;
        int resultCode = httpConn.getResponseCode();
        if (HttpURLConnection.HTTP_OK == resultCode) {
            in = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
            // 解析json对象
//                jsonmsg = JSONObject.fromObject(result);
//                Object jsonObject = JSONObject.toJSON(map);
            String PASSWORD = result;
            PrivateKey privateKey = RSAUtil.string2PrivateKey(PRIVATEKEY);
            byte[] base642Byte = RSAUtil.base642Byte(PASSWORD);
            byte[] privateDecrypt = RSAUtil.privateDecrypt(base642Byte, privateKey);
            PASSWORD = new String(privateDecrypt);
            System.out.println("privateDecrypt = " + PASSWORD);
        }
        return jsonmsg;
    }
}
上一篇:c# – 使用LINQ to XML查询带有前缀命名空间的xml子元素


下一篇:关于java请求webservice的方法