mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 11:41:32 +01:00 
			
		
		
		
	Raw text file view returns correct charset in content-type header if not utf-8
This commit is contained in:
		
							parent
							
								
									fac4e27882
								
							
						
					
					
						commit
						43bfee0d48
					
				| @ -26,10 +26,17 @@ func ServeBlob(ctx *middleware.Context, blob *git.Blob) error { | ||||
| 	} | ||||
| 
 | ||||
| 	_, isTextFile := base.IsTextFile(buf) | ||||
| 	_, isImageFile := base.IsImageFile(buf) | ||||
| 	if !isTextFile && !isImageFile { | ||||
| 		ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+path.Base(ctx.Repo.TreeName)) | ||||
| 		ctx.Resp.Header().Set("Content-Transfer-Encoding", "binary") | ||||
| 	if isTextFile { | ||||
| 		charset, _ := base.DetectEncoding(buf) | ||||
| 		if charset != "utf-8" { | ||||
| 			ctx.Resp.Header().Set("Content-Type", "text/plain; charset="+charset) | ||||
| 		} | ||||
| 	} else { | ||||
| 		_, isImageFile := base.IsImageFile(buf) | ||||
| 		if !isImageFile { | ||||
| 			ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+path.Base(ctx.Repo.TreeName)) | ||||
| 			ctx.Resp.Header().Set("Content-Transfer-Encoding", "binary") | ||||
| 		} | ||||
| 	} | ||||
| 	ctx.Resp.Write(buf) | ||||
| 	_, err = io.Copy(ctx.Resp, dataRc) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user