#java #sharepoint
Вопрос:
У нас есть требование загружать файлы размером 100 МБ в sharepoint.С приведенным ниже кодом мы получаем исключение java.net.SocketException: Сброс подключения одноранговым узлом: ошибка записи в сокет
if(toaddInsideFolder)
url = restServiceURL.toString() "/GetFolderByServerRelativeUrl('" folder "')" url;
else
url = restServiceURL.toString() "/Folders/GetByUrl('" folder "')" url;
HttpPost httppost = new HttpPost(url);
//To receive xml response add below header to http get request
httppost.addHeader("Accept", "application/json; odata=verbose");
httppost.addHeader("content-type", "application/json; odata=verbose");
httppost.addHeader("X-RequestDigest", getRequestDigest());
byte[] binary = new byte[(int) len];
File file = new File(URL);
FileInputStream localFileInputStream = null;
localFileInputStream = new FileInputStream(file);
localFileInputStream.read(binary);
HttpEntity entity = new ByteArrayEntity(binary);
httppost.setEntity(entity);
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpResponse response = httpclient.executePost(httppost);
String statusLine = response.getStatusLine().toString();
String jsonresponse = EntityUtils.toString(response.getEntity());
Кто-нибудь может помочь в этом?
Комментарии:
1.
localFileInputStream.read(binary);
вряд ли удастся прочитать все содержимое файла. Вместо этого используйте имя файла.2. Спасибо @VGR.Используя FileEntity,загрузка файла размером 60 МБ занимает 20 минут. У нас есть какой-нибудь более быстрый подход?