2015-10-22 47 views
3

我正在使用PHP創建一個以API爲中心的Web應用程序。我已閱讀了許多關於以API爲中心的架構和設計的文章,但我遇到了與文件上傳有關的問題。以API爲中心的Web應用程序文件上傳

假設我有一個圖像,我想將它上傳到API服務器。我應該如何上傳該圖像以及如何接收該圖像的鏈接?

這裏是我想現在來創建它:

  1. 選擇客戶端www.domain.com
  2. 使用<input type="file">圖像它multipart/form-data
  3. 上傳使用POSTwww.domain.com與PUT/POST發送此圖像API調用api.domain.com
  4. api.domain.com將該圖像保存到另一臺服務器,如static.domain.com,並將存儲在數據庫中的圖像的ID
  5. 然後,當我需要這個形象,我可以使用GET API調用api.domain.com,我會接收圖像的URL(類似static.domain.com/image.jpg

aditional的問題:

  • 這種方法是正確的還是我完全錯了?
  • 如果我的應用程序很小,我是否需要一個輔助服務器來存儲上傳的文件,或者我可以將文件存儲在API服務器上?
  • 如果我將圖像存儲在與API服務器相同的服務器上,如果圖像網址看起來像api.domain.com/image.jpg,這不會有什麼奇怪嗎?

P.S:我們可以跳過很多API相關的事情,因爲我只需要一個關於如何處理文件上傳的想法。

回答

1

你還沒有真正說過你要在這裏實現什麼樣的API,所以我認爲它只是一個寧靜的API。

  • 這種方法是正確的還是我做的完全錯誤?

不,我不會說你做錯了。你基本上會使用POST發送文件。

  • 如果我的應用程序很小,或者我可以將文件存儲在API服務器上,我是否需要一個輔助服務器來存儲上傳的文件?

是的,它可以讓你存儲在同一臺服務器上,我不明白爲什麼不。如果應用程序很小,我懷疑你會使用大量的存儲空間。

  • 如果我將圖像存儲在與API服務器相同的服務器上,如果圖像網址看起來像api.domain.com/image.jpg,那麼它會不會很奇怪?

api.domain.com/image。從技術上說,jpg只是您通過GET和POST數據連接到API的URL。這並不意味着該文件將成爲該URL。該API可能會返回,如:

{ 
    type: "IMG", 
    id: "1", 
    url: "example.com/uploads/image.jpg" 
} 

我希望這可以幫助,甚至一點!

相關問題