使用javascript将文件保存在我的项目文件夹中

时间:2019-08-11 19:13:31

标签: javascript node.js reactjs

我对reactJS非常陌生,我正在尝试创建一个简单的Web应用程序,该应用程序允许我上传文件,然后将该文件保存到我的项目目录中。

我尝试使用browserify-fs,但是当我使用fs.writeFile时似乎没有创建文件

下面的代码允许我上传文件,但是我正在努力将文件保存在我的项目目录中

import ReactDOM from 'react-dom';
import Dropzone from 'react-dropzone';

class App extends Component {

  onDrop = (acceptedFiles) => {
    // Save acceptedFiles in this scripts directory
  }

  render() {
    return (
        <Dropzone onDrop={this.onDrop}>
          {({getRootProps, getInputProps}) => (
            <div {...getRootProps()}>
              <input {...getInputProps()} />
              Click me to upload a file!
            </div>
          )}
        </Dropzone>
    );
  }
}

export default App;
ReactDOM.render(
  <App />,
  document.getElementById('root')
);

2 个答案:

答案 0 :(得分:1)

browserify-fs将数据存储在浏览器中(我假设使用的是本地存储,但是找不到明确的说明)。

如果要在服务器上存储数据,则需要:

  1. 使用Ajax将数据发送到服务器
  2. 使用服务器端代码存储该数据

答案 1 :(得分:-1)

使用以下功能...

function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
}

...并按如下所示调用...

 download('Text to Save to the File', 'TestSave.txt', 'text/plain')