forked from kevadesu/forgejo
Attachments: Add extension support, allow all types for releases (#12465)
* Attachments: Add extension support, allow all types for releases - Add support for file extensions, matching the `accept` attribute of `<input type="file">` - Add support for type wildcard mime types, e.g. `image/*` - Create repository.release.ALLOWED_TYPES setting (default unrestricted) - Change default for attachment.ALLOWED_TYPES to a list of extensions - Split out POST /attachments into two endpoints for issue/pr and releases to prevent circumvention of allowed types check Fixes: https://github.com/go-gitea/gitea/pull/10172 Fixes: https://github.com/go-gitea/gitea/issues/7266 Fixes: https://github.com/go-gitea/gitea/pull/12460 Ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers * rename function * extract GET routes out of RepoMustNotBeArchived Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
67a5573310
commit
cda44750cb
26 changed files with 497 additions and 226 deletions
|
@ -12,8 +12,8 @@
|
|||
</div>
|
||||
</div>
|
||||
{{if .IsAttachmentEnabled}}
|
||||
<div class="field">
|
||||
<div class="files"></div>
|
||||
<div class="ui dropzone" id="dropzone" data-upload-url="{{AppSubUrl}}/attachments" data-accepts="{{.AttachmentAllowedTypes}}" data-max-file="{{.AttachmentMaxFiles}}" data-max-size="{{.AttachmentMaxSize}}" data-default-message="{{.i18n.Tr "dropzone.default_message"}}" data-invalid-input-type="{{.i18n.Tr "dropzone.invalid_input_type"}}" data-file-too-big="{{.i18n.Tr "dropzone.file_too_big"}}" data-remove-file="{{.i18n.Tr "dropzone.remove_file"}}"></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="files"></div>
|
||||
{{template "repo/upload" .}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
@ -197,19 +197,10 @@
|
|||
</div>
|
||||
</div>
|
||||
{{if .IsAttachmentEnabled}}
|
||||
<div class="field">
|
||||
<div class="comment-files"></div>
|
||||
<div class="ui dropzone" id="comment-dropzone"
|
||||
data-upload-url="{{AppSubUrl}}/attachments"
|
||||
data-remove-url="{{AppSubUrl}}/attachments/delete"
|
||||
data-csrf="{{.CsrfToken}}" data-accepts="{{.AttachmentAllowedTypes}}"
|
||||
data-max-file="{{.AttachmentMaxFiles}}" data-max-size="{{.AttachmentMaxSize}}"
|
||||
data-default-message="{{.i18n.Tr "dropzone.default_message"}}"
|
||||
data-invalid-input-type="{{.i18n.Tr "dropzone.invalid_input_type"}}"
|
||||
data-file-too-big="{{.i18n.Tr "dropzone.file_too_big"}}"
|
||||
data-remove-file="{{.i18n.Tr "dropzone.remove_file"}}">
|
||||
<div class="field">
|
||||
<div class="comment-files"></div>
|
||||
{{template "repo/upload" .}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="field footer">
|
||||
<div class="text right edit">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue