All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dounine.clouddisk360.parser.FileUploadParser Maven / Gradle / Ivy

package com.dounine.clouddisk360.parser;

import org.apache.http.Consts;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.StringBody;

import com.dounine.clouddisk360.annotation.Parse;
import com.dounine.clouddisk360.parser.deserializer.file.upload.FileUpload;
import com.dounine.clouddisk360.parser.deserializer.file.upload.FileUploadConst;
import com.dounine.clouddisk360.parser.deserializer.file.upload.FileUploadParameter;
import com.dounine.clouddisk360.parser.deserializer.file.upload.FileUploadRequestInterceptor;
import com.dounine.clouddisk360.parser.deserializer.file.upload.FileUploadResponseHandle;
import com.dounine.clouddisk360.parser.deserializer.login.LoginUserToken;

@Parse("文件上传[不添加]")
public class FileUploadParser extends
		BaseParser {

	public FileUploadParser(){}
	public FileUploadParser(LoginUserToken loginUser) {
		super(loginUser);
	}

	public HttpPost initRequest(FileUploadParameter parameter) {
		HttpPost request = new HttpPost("http://" + parameter.getUpPath() + CONST.URI_PATH);
		MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();
		multipartEntity.setCharset(Consts.UTF_8);
		multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
		multipartEntity.addPart("qid", new StringBody(parameter.getQid(), ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("ofmt", new StringBody("json", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("method", new StringBody("Upload.web", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("token", new StringBody(readCookieStoreValue("token"), ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("v", new StringBody("1.0.1", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("tk", new StringBody(parameter.getTk(), ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("Upload", new StringBody("Submit Query", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("devtype", new StringBody("web", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("pid", new StringBody("ajax", ContentType.DEFAULT_BINARY));
		multipartEntity.addPart("Filename",
				new StringBody(parameter.getUploadFile().getName(), ContentType.APPLICATION_JSON));
		multipartEntity.addPart("path", new StringBody(parameter.getPath(), ContentType.APPLICATION_JSON));// 解决中文不识别问题
		multipartEntity.addBinaryBody("file", parameter.getUploadFile());
		request.setEntity(multipartEntity.build());
		return request;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy