2017-07-11 80 views
0

我有一個視頻模型,目前接受視頻網址而不是多部分視頻文件。回形針:阻止上傳原始文件

視頻通過應用程序上傳到S3存儲桶。

現在,我想在這裏上傳風格圖像和處理器視頻(每幀附有時間戳值)。

但仍然是原始視頻正在從URL上傳到服務器。我已經將視頻上傳到S3,並且不想通過回形針重複該過程。

任何方式被上傳

Video.rb

has_attached_file :video, styles: { 
    timestamped: { processors: %i[ timestamper ] }, 
    small: ['640x', :jpeg], 
    medium: ['750x', :jpeg], 
    large: ['1242x', :jpeg] 
} 

回答

0

限制的原始視頻可以覆蓋original類型,並用它作爲large。例如:

has_attached_file :video, styles: { 
    timestamped: { processors: %i[ timestamper ] }, 
    original: ['1242x', :jpeg], 
    medium: ['750x', :jpeg], 
    small: ['640x', :jpeg] 
} 

請注意原件被用作其他類型的「基礎」。

另一個解決方案是斷開鏈接的過程後的文件,但是這意味着該文件第一次無論如何上傳:

after_save :reprocess_video 

private 

def reprocess_video 
    File.unlink(video.path) 
end 
+0

其實這是主要的關注。除了我已經直接上傳到S3的原版外,我不需要任何其他風格。但是,當通過回形針上傳網址時,原始(再次)出現。 –

+0

因此,我的答案的第一個解決方案應該適合您的需求。 – coorasse

+0

我嘗試了你的第一個解決方案,但它仍然在原始文件夾中上傳一個jpeg文件。我可以稍後刪除它,但這會成爲一個問題,因爲它會增加S3的PUT操作,而且這對於大型應用程序而言代價很高。 –