Я пытаюсь написать javascript, который будет автоматически загружать файл CSV, используя службу API остальных приложений. Я протестировал API с помощью Postman, и он работает, файл успешно загружен в приложение. Тем не менее, это не работает, когда я пытался скомпилировать и выполнить программу в java eclipse. Может ли кто-нибудь дать мне совет, если проблема связана с моим кодом или есть что-то еще, что мне не хватает?
Скриншот тестирования почтальона:
введите описание изображения здесь
Ниже приведен скрипт Java:
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
public class Main_Class {
public static void main(String[] args)
{
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException
{
System.out.println("The abs path of the file is"+file);
while(true) //checking the file status for arrival of big file size
{
String f = file.toString();
File file1 = new File(f);
if ( file1.exists())
{
RandomAccessFile statusCheck = null;
try
{
statusCheck = new RandomAccessFile(file1,"r");
if(statusCheck != null)
{
//start here <------
System.out.println("New file detected. Intiating IGI REST API call...");
statusCheck.close();
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("multipart/form-data");
String bodystr = "------WebKitFormBoundary7MA4YWxkTrZu0gW"
//content of the csv place into this mediaType
+ "Content-Disposition: form-data; name=\"uploadedFiles[]\"; filename=\"C:\\Downloads\\SampleCSVFile.csv\""
+ "Content-Type: text/csv"
+ "------WebKitFormBoundary7MA4YWxkTrZu0gW"
+ "Content-Disposition: form-data; name=\"name\""
+ "SampleCSVFile.csv"
+ "------WebKitFormBoundary7MA4YWxkTrZu0gW"
+ "Content-Disposition: form-data; name=\"type\""
+ "file"
+ "------WebKitFormBoundary7MA4YWxkTrZu0gW"
+ "Content-Disposition: form-data; name=\"relativePath\""
+ "connectors/CSV/"
+ "------WebKitFormBoundary7MA4YWxkTrZu0gW--";
//create mediatype
//this is api request body
RequestBody body = RequestBody.create(mediaType, bodystr);
Request request = new Request.Builder()
.url("https://192.168.0.125:9443/v1/customfiles")
.post(body)
.addHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Basic YWRtaW46UGFzc3cwcmQh")
//.addHeader("Cache-Control", "no-cache")
//.addHeader("Postman-Token", "81299ae7-0ed5-4365-8003-65162ae118b1")
.build();
Response response = client.newCall(request).execute();
System.out.println("RESPONSE CODE:" + response.toString());
if(response.toString().contains("200"))
{
Path path = Paths.get("C:\\Downloads\\SampleCSVFile.csv\");
Files.delete(path);
System.out.println("Successfully deleted the processed file");
}
}
break;
}catch(Exception e)
{
System.out.println("In processing : " + e.getMessage());
}
}
}
}
}