mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 00:02:20 -05:00 
			
		
		
		
	serve video files using the HTML5 video tag (#418)
* serve video files using the HTML5 video tag * lint fix: add comment to IsVideoFile
This commit is contained in:
		
							parent
							
								
									8559d6f267
								
							
						
					
					
						commit
						6ade13e86e
					
				@ -431,6 +431,7 @@ file_history = History
 | 
				
			|||||||
file_view_raw = View Raw
 | 
					file_view_raw = View Raw
 | 
				
			||||||
file_permalink = Permalink
 | 
					file_permalink = Permalink
 | 
				
			||||||
file_too_large = This file is too large to be shown
 | 
					file_too_large = This file is too large to be shown
 | 
				
			||||||
 | 
					video_not_supported_in_browser = Your browser doesn't support HTML5 video tag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
editor.new_file = New file
 | 
					editor.new_file = New file
 | 
				
			||||||
editor.upload_file = Upload file
 | 
					editor.upload_file = Upload file
 | 
				
			||||||
 | 
				
			|||||||
@ -494,3 +494,8 @@ func IsImageFile(data []byte) bool {
 | 
				
			|||||||
func IsPDFFile(data []byte) bool {
 | 
					func IsPDFFile(data []byte) bool {
 | 
				
			||||||
	return strings.Index(http.DetectContentType(data), "application/pdf") != -1
 | 
						return strings.Index(http.DetectContentType(data), "application/pdf") != -1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// IsVideoFile detectes if data is an video format
 | 
				
			||||||
 | 
					func IsVideoFile(data []byte) bool {
 | 
				
			||||||
 | 
						return strings.Index(http.DetectContentType(data), "video/") != -1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -198,6 +198,8 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	case base.IsPDFFile(buf):
 | 
						case base.IsPDFFile(buf):
 | 
				
			||||||
		ctx.Data["IsPDFFile"] = true
 | 
							ctx.Data["IsPDFFile"] = true
 | 
				
			||||||
 | 
						case base.IsVideoFile(buf):
 | 
				
			||||||
 | 
							ctx.Data["IsVideoFile"] = true
 | 
				
			||||||
	case base.IsImageFile(buf):
 | 
						case base.IsImageFile(buf):
 | 
				
			||||||
		ctx.Data["IsImageFile"] = true
 | 
							ctx.Data["IsImageFile"] = true
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -43,6 +43,10 @@
 | 
				
			|||||||
				<div class="view-raw ui center">
 | 
									<div class="view-raw ui center">
 | 
				
			||||||
					{{if .IsImageFile}}
 | 
										{{if .IsImageFile}}
 | 
				
			||||||
						<img src="{{EscapePound $.RawFileLink}}">
 | 
											<img src="{{EscapePound $.RawFileLink}}">
 | 
				
			||||||
 | 
										{{else if .IsVideoFile}}
 | 
				
			||||||
 | 
											<video controls src="{{EscapePound $.RawFileLink}}">
 | 
				
			||||||
 | 
												<strong>{{.i18n.Tr "repo.video_not_supported_in_browser"}}</strong>
 | 
				
			||||||
 | 
											</video>
 | 
				
			||||||
					{{else if .IsPDFFile}}
 | 
										{{else if .IsPDFFile}}
 | 
				
			||||||
						<iframe width="100%" height="600px" src="{{AppSubUrl}}/plugins/pdfjs-1.4.20/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe>
 | 
											<iframe width="100%" height="600px" src="{{AppSubUrl}}/plugins/pdfjs-1.4.20/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe>
 | 
				
			||||||
					{{else}}
 | 
										{{else}}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user