首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将图像设置为React中的嵌套状态的问题

将图像设置为React中的嵌套状态的问题
EN

Stack Overflow用户
提问于 2020-04-05 15:27:17
回答 1查看 99关注 0票数 0

因此,我有一个react前端,它负责获取输入,为我的应用程序创建一个新用户。当用户提交表单时,它会击中后端服务器。在这种形式下,我有一个文件输入,允许用户选择一个化身。在后端,我使用rails活动存储处理将映像保存到aws。这里的问题是,我想将图像保存为用户状态下的嵌套支柱。因此,给出了UserForm组件的构造方法;

我有一些文字输入的全名,电子邮件和密码和一个文件输入的化身。其想法是抓取所有这些,并将其作为格式数据发送到rails后端。然后,我可以抓取整个用户参数并在后端创建一个新用户。

这是我的输入:

这是用户输入文本字段时的代码。它将输入保存到用户状态的嵌套状态:

问题是当我试图附加图像并将其保存在User.avatar状态下时。

当我执行Console.log(文件)时,我得到了正确的结果,它显示了图像:

但是,当我检查状态User.Avatar时,它会显示这一点。user.avatar是一个空对象!

但是,如果我直接将图像设置在这样的顶级状态上:

文件的状态显示得很好:

知道为什么会这样吗?太奇怪了!

编辑1

根据Ilia下面的解决方案,只需将其发送到后端即可。因此,假设我将其发送到后端,将其保存在用户对象下的状态下。这是我的代码,可以这样做:

代码语言:javascript
运行
复制
   submitUser = async () => {    
    let formData = new FormData();

    formData.set("user", JSON.stringify(this.state.user));    

    const res = await axios({
      method: 'post',
      url: '/users/',
      data: formData,
      headers: {
      'content-type': `multipart/form-data; boundary=${formData._boundary}`,
      },
    });

在我的rails后端:

代码语言:javascript
运行
复制
def create    
    @user = User.new(user_params)    

    if @user.save
      flash[:notice] = "Welcome #{@user.full_name}"
      render json: { status: true }
      session[:user_id] = @user.id     
    else
      flash[:error] = "Please fix the following error(s)"
      render json: { error: @user.errors.messages }
    end
  end

我的strogn params正在处理params (这里的调试代码):

代码语言:javascript
运行
复制
def user_params       
    json_params = ActionController::Parameters.new( JSON.parse(params[:user]) )
    binding.pry     
    res = json_params.require(:user).permit(:email, :full_name, :password)

    res
  end

我的化身是一个空的讣告。

我不知道你把它当成图像源是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2020-04-05 15:33:32

我以前遇到过同样的问题,状态实际上是保存文件值,但由于未知的原因(对我来说)它没有显示,发送到后端,您将看到该文件被正确地接收,您可以设置它作为图像源,以确保该文件是实际收到的!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61044978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档