我正在尝试了解有关为即将进行的项目处理文件的更多信息。react-dropzone 有没有一种方法可以在 onDrop 碰巧更改我正在上传的文件的内容时运行一个函数?例如,如果我要上传一个文字文档,上面写着“大家好”,我将如何将内容更改为“嗨尼克博士”?
在尝试进行更改之前,我尝试使用 filereader api 访问数据。我尝试在 async 函数的左大括号之后立即使用 filereader,但无法使其正常工作。
import React from 'react';
import Dropzone from 'react-dropzone';
import { graphql } from 'react-apollo';
import gql from 'graphql-tag';
const FileUpload = ({
children, disableClick, channelId, mutate, style = {},
}) => (
<Dropzone
style={style}
className="ignore"
onDrop={async ([file]) => {
const response = await mutate({
variables: {
channelId,
file,
},
});
console.log(response);
}}
disableClick={disableClick}
>
{children}
</Dropzone>
);
const createFileMessageMutation = gql`
mutation($channelId: Int!, $file: File) {
createMessage(channelId: $channelId, file: $file)
}
`;
export default graphql(createFileMessageMutation)(FileUpload);
非常感谢您对如何访问和修改文件内容的任何想法!谢谢。