mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Refactor "Content" for file uploading (#25851)
Before: the concept "Content string" is used everywhere. It has some problems: 1. Sometimes it means "base64 encoded content", sometimes it means "raw binary content" 2. It doesn't work with large files, eg: uploading a 1G LFS file would make Gitea process OOM This PR does the refactoring: use "ContentReader" / "ContentBase64" instead of "Content" This PR is not breaking because the key in API JSON is still "content": `` ContentBase64 string `json:"content"` ``
This commit is contained in:
		@@ -6,6 +6,7 @@ package integration
 | 
			
		||||
import (
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"testing"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
@@ -24,9 +25,9 @@ func getCreateRepoFilesOptions(repo *repo_model.Repository) *files_service.Chang
 | 
			
		||||
	return &files_service.ChangeRepoFilesOptions{
 | 
			
		||||
		Files: []*files_service.ChangeRepoFile{
 | 
			
		||||
			{
 | 
			
		||||
				Operation: "create",
 | 
			
		||||
				TreePath:  "new/file.txt",
 | 
			
		||||
				Content:   "This is a NEW file",
 | 
			
		||||
				Operation:     "create",
 | 
			
		||||
				TreePath:      "new/file.txt",
 | 
			
		||||
				ContentReader: strings.NewReader("This is a NEW file"),
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		OldBranch: repo.DefaultBranch,
 | 
			
		||||
@@ -41,10 +42,10 @@ func getUpdateRepoFilesOptions(repo *repo_model.Repository) *files_service.Chang
 | 
			
		||||
	return &files_service.ChangeRepoFilesOptions{
 | 
			
		||||
		Files: []*files_service.ChangeRepoFile{
 | 
			
		||||
			{
 | 
			
		||||
				Operation: "update",
 | 
			
		||||
				TreePath:  "README.md",
 | 
			
		||||
				SHA:       "4b4851ad51df6a7d9f25c979345979eaeb5b349f",
 | 
			
		||||
				Content:   "This is UPDATED content for the README file",
 | 
			
		||||
				Operation:     "update",
 | 
			
		||||
				TreePath:      "README.md",
 | 
			
		||||
				SHA:           "4b4851ad51df6a7d9f25c979345979eaeb5b349f",
 | 
			
		||||
				ContentReader: strings.NewReader("This is UPDATED content for the README file"),
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		OldBranch: repo.DefaultBranch,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user