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