feat:upload file
This commit is contained in:
parent
a370cf0873
commit
4cc03bc304
@ -13,10 +13,11 @@ import org.apache.http.HttpEntity;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
import org.apache.http.client.methods.*;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
||||
import org.apache.http.entity.mime.content.FileBody;
|
||||
import org.apache.http.entity.mime.HttpMultipartMode;
|
||||
import org.apache.http.entity.mime.MultipartEntity;
|
||||
import org.apache.http.entity.mime.content.InputStreamBody;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
@ -39,9 +40,13 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.*;
|
||||
@ -184,15 +189,13 @@ public class ProxyService {
|
||||
URI newUri = new URI(target);
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
HttpPost httpPost = new HttpPost(newUri);
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
FileBody fileBody = new FileBody(transferToFile(file));
|
||||
builder.addPart("file", fileBody);
|
||||
HttpEntity multipartEntity = builder.build();
|
||||
httpPost.setEntity(multipartEntity);
|
||||
Header[] requestHeader = httpPost.getAllHeaders();
|
||||
for (Header header : requestHeader) {
|
||||
log.info("request Header: {}: {}", header.getName(), header.getValue());
|
||||
}
|
||||
MultipartEntity builder = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, "----WebKitFormBoundaryBHp47SjGMxpHX0X6--", Charset.forName("UTF-8"));
|
||||
// FileBody fileBody = new FileBody(transferToFile(file));
|
||||
// builder.addPart("file", fileBody);
|
||||
File transferToFile = transferToFile(file);
|
||||
builder.addPart("file", new InputStreamBody(new FileInputStream(transferToFile), file.getOriginalFilename()));
|
||||
httpPost.addHeader("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryBHp47SjGMxpHX0X6--");
|
||||
httpPost.setEntity(builder);
|
||||
HttpResponse kResponse = httpClient.execute(httpPost);
|
||||
Header[] headers = kResponse.getAllHeaders();
|
||||
for (Header header : headers) {
|
||||
@ -205,6 +208,11 @@ public class ProxyService {
|
||||
|
||||
log.info("receive json response: {}", jsonStr);
|
||||
JSONObject jsonObject = JSON.parseObject(jsonStr);
|
||||
|
||||
Header[] requestHeader = httpPost.getAllHeaders();
|
||||
for (Header header : requestHeader) {
|
||||
log.info("request Header: {}: {}", header.getName(), header.getValue());
|
||||
}
|
||||
if (jsonObject.containsKey("url")) {
|
||||
return jsonObject.getString("url");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user