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:
parent
265a28802a
commit
236c645bf1
15 changed files with 103 additions and 80 deletions
|
@ -26,7 +26,7 @@ type CreateFileOptions struct {
|
|||
FileOptions
|
||||
// content must be base64 encoded
|
||||
// required: true
|
||||
Content string `json:"content"`
|
||||
ContentBase64 string `json:"content"`
|
||||
}
|
||||
|
||||
// Branch returns branch name
|
||||
|
@ -54,7 +54,7 @@ type UpdateFileOptions struct {
|
|||
DeleteFileOptions
|
||||
// content must be base64 encoded
|
||||
// required: true
|
||||
Content string `json:"content"`
|
||||
ContentBase64 string `json:"content"`
|
||||
// from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL
|
||||
FromPath string `json:"from_path" binding:"MaxSize(500)"`
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ type ChangeFileOperation struct {
|
|||
// required: true
|
||||
Path string `json:"path" binding:"Required;MaxSize(500)"`
|
||||
// new or updated file content, must be base64 encoded
|
||||
Content string `json:"content"`
|
||||
ContentBase64 string `json:"content"`
|
||||
// sha is the SHA for the file that already exists, required for update or delete
|
||||
SHA string `json:"sha"`
|
||||
// old path of the file to move
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue