Browse Source

web pre

tags/vopendata0.1.2
e 5 years ago
parent
commit
f865907bd2
3 changed files with 17 additions and 34 deletions
  1. +10
    -0
      routers/repo/dataset.go
  2. +1
    -1
      templates/repo/datasets/dataset.tmpl
  3. +6
    -33
      web_src/js/index.js

+ 10
- 0
routers/repo/dataset.go View File

@@ -1,6 +1,7 @@
package repo

import (
"code.gitea.io/gitea/modules/storage"
"sort"

"code.gitea.io/gitea/models"
@@ -8,6 +9,8 @@ import (
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log"

gouuid "github.com/satori/go.uuid"
)

const (
@@ -77,6 +80,13 @@ func DatasetIndex(ctx *context.Context) {
ctx.Data["dataset"] = dataset
ctx.Data["Attachments"] = attachments
ctx.Data["IsOwner"] = true
uuid := gouuid.NewV4().String()
url, err := storage.Attachments.PresignedPutURL(models.AttachmentRelativePath(uuid))
if err != nil {
ctx.ServerError("PresignedPutURL", err)
}
ctx.Data["uuid"] = uuid
ctx.Data["url"] = url
renderAttachmentSettings(ctx)

ctx.HTML(200, tplIndex)


+ 1
- 1
templates/repo/datasets/dataset.tmpl View File

@@ -2,7 +2,7 @@
<div class="field required dataset-files">
<label>{{.i18n.Tr "dataset.file"}}</label>
<div class="files"></div>
<div class="ui dropzone" id="dataset" data-upload-url="{{AppSubUrl}}/attachments" data-accepts="{{.AttachmentAllowedTypes}}" data-remove-url="{{AppSubUrl}}/attachments/delete" data-csrf="{{.CsrfToken}}" dataset-id={{.dataset.ID}} data-max-file="100" data-dataset-id="{{.dataset.ID}}" 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="ui dropzone" id="dataset" data-upload-url="{{.url}}" data-uuid="{{.uuid}}" data-accepts="{{.AttachmentAllowedTypes}}" data-remove-url="{{AppSubUrl}}/attachments/delete" data-csrf="{{.CsrfToken}}" dataset-id={{.dataset.ID}} data-max-file="100" data-dataset-id="{{.dataset.ID}}" 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>

+ 6
- 33
web_src/js/index.js View File

@@ -305,7 +305,7 @@ function retrieveImageFromClipboardAsBlob(pasteEvent, callback) {
}
}
}
/*
function uploadFile(file, callback) {
const xhr = new XMLHttpRequest();

@@ -321,37 +321,6 @@ function uploadFile(file, callback) {
formData.append('file', file, file.name);
xhr.send(formData);
}
*/
function uploadFile(file, callback) {
retrieveNewURL(file, url => {
// 上传文件到服务器
uploadFileToS3(file, url)
})
}

// 发请求到server获取上传URL。
function retrieveNewURL(file, cb) {
$.get(`${AppSubUrl}/attachments/get_pre_url`, (url) => {
cb(url)
})
}

// 使用XMLHttpRequest来上传文件到S3。
function uploadFileToS3(file, url) {
var xhr = new XMLHttpRequest ()
xhr.open('PUT', url, true)
xhr.setRequestHeader('X-Csrf-Token', csrf);
const formData = new FormData();
formData.append('file', file, file.name);
xhr.send(formData);
/*
xhr.send(file)
xhr.onload = () => {
if (xhr.status == 200) {
$('#status').text(`Uploaded ${file.name}.`)
}
}*/
}

function reload() {
window.location.reload();
@@ -2443,12 +2412,16 @@ $(document).ready(async () => {
formData.append('dataset_id', $dataset.data('dataset-id'));
});
this.on('success', (file, data) => {
/*
filenameDict[file.name] = data.uuid;
const input = $(`<input id="${data.uuid}" name="files" type="hidden">`).val(data.uuid);
$('.files').append(input);
*/
console.log($dataset.data('upload-url'));
console.log($dataset.data('uuid'));
});
this.on('queuecomplete', () => {
window.location.realod();
window.location.reload();
});
this.on('removedfile', (file) => {
if (file.name in filenameDict) {


Loading…
Cancel
Save