2017-03-07 142 views
2

最近3天我開始學習Spring。我想從手機圖庫發送圖像到春季服務器。我想提到服務器是本地的,所以我使用本地主機。我看到一個教程,如果我想發送東西到本地服務器,服務器地址是我的筆記本電腦地址+端口(例如8080),我必須將手機連接到與筆記本電腦相同的Wi-Fi。從android應用程序庫上傳圖像到本地彈簧服務器

我知道如何從圖庫中獲取圖像,但我不知道如何發送圖像。從stackoverflow的許多解決方案是舊的,一些類已棄用,我不能嘗試他們的方法。

另外,我應該怎麼做在春季控制器接收圖像?

+1

您沒有閱讀任何標籤爲android的stackiverflow頁面!每天sombody都會問如何發佈文件。每天都解決。請閱讀! – greenapps

+1

@greenapps *來自stackoverflow的許多解決方案都是舊的,有些類已被棄用* - True語句。 「HttpClient」的答案遍佈全球。 –

回答

1

您將使用MultipartFile使用彈簧上傳圖像。請通過以下示例。

@RequestMapping(value = "/upload", method = RequestMethod.POST) 
public String fileUpload(@RequestParam("file") MultipartFile file) { 
    try { 
     // Get the file and save it somewhere 
     byte[] bytes = file.getBytes(); 

     //save file in server - you may need an another scenario 
     Path path = Paths.get("/" + file.getOriginalFilename()); 
     Files.write(path, bytes); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    //redirect to an another url end point 
    return "redirect:/upload-status"; 
} 

請確保您可以通過移動設備連接到您的計算機。我相信您可能知道Android需要額外的權限才能使用網絡連接。因此,請確保您已允許您的應用訪問網絡。

編輯:

您可以使用HttpClient從您的移動應用程序上傳文件。請嘗試下面的代碼。

HttpClient httpClient = AndroidHttpClient.newInstance("App"); 
    HttpPost httpPost = new HttpPost("http://your-server-url"); 

    httpPost.setEntity(new FileEntity(new File("your-file-path"), "application/octet-stream")); 

    HttpResponse response = httpClient.execute(httpPost); 
+1

你好Channa Jayamuni!我如何從android應用程序發送圖像?我看到有人使用HttpUrlConnection。 – ProgIsMetal

+0

發佈編輯添加android部分 –

+0

'HttpClient'已棄用,所以請提及如何獲得該類。 –

相關問題