2017-08-03 11 views
0

私はFile upload examplethis exampleをフォローしました。ファイルをs3にアップロードできるようになりました。しかし、そのファイルを編集したり置き換えたりするときはどうすればいいのですか。ファイルのプレビューと再アップロードgcanti/tcomb-formを使用

const CustomFile = t.irreducible('File', x => x instanceof File); 

// MyModel 
const BusinessModel = t.struct({ 
    logo: t.maybe(CustomFile), 
    name: t.String, 
}, 'BusinessModel'); 

// options 
const options = { 
    fields: { 
    logo: { 
     type: 'file' 
    } 
    } 
}; 

マイレスポンスオブジェクトは、どのように私は、ファイルが存在する場合、それはプレビューが表示されていることを、このようなBusinessModelに収まるように応答logoを得るのですか

{ 
    "name": "business name", 
    "logo": { 
    "url": "https://some.url.to/s3/logo.png", 
    "large": { 
     "url": "https://some.url.to/s3/logo_large.png" 
    } 
    } 
} 

です。

onChangeそれは新しいファイルのプレビュー

onSubmitが、私はこれは私が処理するために、まだだよなかったものです

答えて

0
class MyFileComponent extends t.form.Component { 
    getTemplate() { 
    return (locals) => { 
     return (
     <div className="form-group"> 
      { 
      getLabel({ 
       label: locals.label, 
      }) 
      } 
      <div> 
      { this.renderPreview(locals) } 
      <label lang="en" className="custom-file ml-3"> 
       <input type="file" className="custom-file-input" accept="image/*" onChange={evt => locals.onChange(evt.target.files[0])} /> 
       <span className="custom-file-control"></span> 
      </label> 
      </div> 
      { getError(locals) } 
      { getHelp(locals) } 
     </div> 
    ); 
    }; 
    } 

    renderPreview(locals) { 
    // your code 
    } 
} 

を検討する必要があり、新たに選択したファイル

is this somethingをアップロード示しエラーは強調表示されますが、これはもちろん単一ファイルのアップロードでも機能します。

関連する問題