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