我的網站有一個功能,允許用戶創建帖子(如Facebook)。我有一個帶有「消息」輸入字段和允許用戶上傳圖片的按鈕的表單。圖片上傳後提交數據
現在,我如何設置代碼是,當用戶提交表單時,我的代碼將首先提交數據,然後上載圖像。
問題是,如果用戶在中途取消圖片上傳時,數據庫記錄將存在(因爲數據是在圖片上傳之前提交的),但不會上傳圖片。
所以我的解決方案是先上傳圖片並提交數據。這個問題是我不知道如何將圖像綁定到數據庫記錄中的數據。
應上傳所有的圖像來/tmp
,然後將文件移動到永久目錄,如/var/www/html/website/public/img/uploads/<upload_id>
其中upload_id
是數據庫記錄的id
?
如果用戶上傳圖片,但是中途關閉了標籤,該怎麼辦?那麼在/tmp
中將會有一張圖像,除非目錄被清理,否則它將永遠留在那裏。我將如何清理它?
這是做這件事的最好方法還是有更好的方法?
我正在使用Laravel 5.3和Dropzone.js。
謝謝。
請重新閱讀我的問題。我不是在尋找這種解決方案。 – user7315267
好的,如果你不想改變解決方案,你應該做預覽圖像而不保存。我認爲,這篇文章會有所幫助 - http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded。使用預覽如果用戶關閉表單,圖像將不會存儲到數據庫和磁盤空間。如果用戶將確認表格數據 - 您應該上傳圖片並以我在下面寫的方式確認表格。 –