2014-12-04 5 views
0

Как загрузить файл на Google Drive с помощью java. мой код Java есть.Как загрузить файл на Google диск с помощью Java-приложения ...?

HttpTransport httpTransport = new NetHttpTransport(); 
JsonFactory jsonFactory = new JacksonFactory(); 
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
    httpTransport, jsonFactory, CLIENT_ID, CLIENT_SECRET, Arrays.asList(DriveScopes.DRIVE)) 
    .setAccessType("online") 
    .setApprovalPrompt("auto").build(); 

String url = flow.newAuthorizationUrl().setRedirectUri(REDIRECT_URI).build(); 
System.out.println("Please open the following URL in your browser then type the authorization code:"); 
System.out.println(" " + url); 
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
String code = br.readLine(); 

GoogleTokenResponse response = flow.newTokenRequest(code).setRedirectUri(REDIRECT_URI).execute(); 
GoogleCredential credential = new GoogleCredential().setFromTokenResponse(response); 

//Create a new authorized API client 
Drive service = new Drive.Builder(httpTransport, jsonFactory, credential).build(); 

//Insert a file 
File body = new File(); 
body.setTitle("My document"); 
body.setDescription("A test document"); 
body.setMimeType("text/plain"); 

java.io.File fileContent = new java.io.File("document.txt"); 
FileContent mediaContent = new FileContent("text/plain", fileContent); 

File file = service.files().insert(body, mediaContent).execute(); 
System.out.println("File ID: " + file.getId()); 
}} 

Так что в этом файле объекта (java.io.File fileContent = новый java.io.File ("document.txt");) просить полный path.But файл в файл загрузки, мы можем получить только имя файла не путь. Как решить проблему.пожалуйста, помогите мне.

+0

Я не совсем уверен, что вы хотите быть в этом вопросе. Но если вы хотите получить имя файла вместо пути к файлу. Метод java.io.File.getName() возвращает имя имени последовательности имен пути, что означает имя файла. – gui47

+0

Хорошо, что если я передаю имя файла в ** file-Content **, это говорит о том, что filNotFoundException.That означает, что ему нужен точный путь, где находится файл. Но из веб-приложения вы знаете, что мы можем получить только имя файла. Так как для решения этой проблемы. – kamesh

+0

@kamesh, Как вы получаете имя файла на первом месте? – Sridhar

ответ

Смежные вопросы