mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-10 02:54:15 +00:00
fix upload request
This commit is contained in:
parent
203b1f8e5a
commit
0af07301f4
@ -15,7 +15,7 @@ export default (props) => {
|
||||
|
||||
formData.append("files", req.file)
|
||||
|
||||
const request = await window.app.cores.api.customRequest({
|
||||
const { data } = await window.app.cores.api.customRequest({
|
||||
url: "/upload",
|
||||
method: "POST",
|
||||
data: formData
|
||||
@ -28,10 +28,10 @@ export default (props) => {
|
||||
|
||||
setUploading(false)
|
||||
|
||||
if (request) {
|
||||
if (data) {
|
||||
// check failed uploads
|
||||
if (request.failed.length > 0) {
|
||||
request.failed.forEach((file) => {
|
||||
if (data.failed.length > 0) {
|
||||
data.failed.forEach((file) => {
|
||||
app.notification.error({
|
||||
message: "Failed to upload file",
|
||||
description: `Could not upload file ${file.fileName} cause > ${file.error}`
|
||||
@ -39,7 +39,7 @@ export default (props) => {
|
||||
})
|
||||
}
|
||||
|
||||
props.ctx.dispatchUpdate(request.files[0].url)
|
||||
props.ctx.dispatchUpdate(data.files[0].url)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import { Icons } from "components/Icons"
|
||||
import clipboardEventFileToFile from "utils/clipboardEventFileToFile"
|
||||
|
||||
import PostModel from "models/post"
|
||||
import FilesModel from "models/files"
|
||||
|
||||
import "./index.less"
|
||||
|
||||
@ -119,25 +120,13 @@ export default class PostCreator extends React.Component {
|
||||
// hide uploader
|
||||
this.toogleUploaderVisibility(false)
|
||||
|
||||
// get file data
|
||||
const file = req.file
|
||||
const request = await FilesModel.uploadFile(req.file)
|
||||
.catch(error => {
|
||||
console.error(error)
|
||||
antd.message.error(error)
|
||||
|
||||
console.log(`Uploading file >`, file)
|
||||
|
||||
// append to form data
|
||||
const formData = new FormData()
|
||||
|
||||
formData.append("files", file)
|
||||
|
||||
// send request
|
||||
const request = await this.api.post.upload(formData, undefined).catch((error) => {
|
||||
console.error(error)
|
||||
antd.message.error(error)
|
||||
|
||||
req.onError(error)
|
||||
|
||||
return false
|
||||
})
|
||||
return false
|
||||
})
|
||||
|
||||
if (request) {
|
||||
console.log(`Upload done >`, request)
|
||||
@ -208,8 +197,13 @@ export default class PostCreator extends React.Component {
|
||||
pending: this.state.pending.filter(uid => uid !== change.file.uid)
|
||||
})
|
||||
|
||||
// update post data
|
||||
this.addAttachment(change.file.response.files)
|
||||
if (Array.isArray(change.file.response.files)) {
|
||||
change.file.response.files.forEach((file) => {
|
||||
this.addAttachment(file)
|
||||
})
|
||||
} else {
|
||||
this.addAttachment(change.file.response)
|
||||
}
|
||||
|
||||
// scroll to end
|
||||
this.uploaderScrollToEnd()
|
||||
|
@ -1,5 +1,7 @@
|
||||
export default class UploadModel {
|
||||
export default class FilesModel {
|
||||
static async uploadFile(file) {
|
||||
console.log("uploadFile", file)
|
||||
|
||||
// get the file from the payload
|
||||
if (!file) {
|
||||
throw new Error("File is required")
|
||||
@ -14,7 +16,7 @@ export default class UploadModel {
|
||||
// send the request
|
||||
const uploadRequest = await app.cores.api.customRequest( {
|
||||
method: "POST",
|
||||
url: "/upload",
|
||||
url: "/files/upload",
|
||||
data: formData,
|
||||
}).catch((err) => {
|
||||
throw new Error(err.response.data.message)
|
||||
@ -40,7 +42,7 @@ export default class UploadModel {
|
||||
const resultFiles = []
|
||||
|
||||
for await (const file of files) {
|
||||
const result = await UploadModel.uploadFile(file)
|
||||
const result = await FilesModel.uploadFile(file)
|
||||
resultFiles.push(result)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user