react-native上传视频

时间:2017-06-14 18:26:22

标签: javascript video react-native

有没有办法将视频上传到服务器本地?

我已经查看了github上的react-native-uploader插件,但如果该插件甚至可以使用它,它就不会提供有关视频上传的任何指导。

3 个答案:

答案 0 :(得分:6)

只需使用fetch上传

即可
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="container">
    <div class="row">
        <div class="col">
            <h1>Hello, world!</h1>
            <p>This is a paragraph</p>
        </div>
    </div>
</div>

答案 1 :(得分:1)

这是另一个答案,在RN 0.57.8中使用rn-fetch-blob。

postVideo = (video,url) =>  {
    RNFetchBlob.fetch('POST',url, {
         'content-type': 'multipart/form-data',
         "Accept":"multipart/form-data",
         'access-token': AuthToken.token, //token from server
      },[
        //the value of name depends on the key from server
        {name: 'video', filename: 'vid.mp4', data: RNFetchBlob.wrap(video.uri) },
      ]).then(response => response.json())
        .then(response => {
            if (response.status === 'success') {
                alert("Upload success");
                this.props.navigation.navigate('publish');
            } else {
               alert(response.msg);
            }})
         .catch((err) => {
             alert(err);
        })
    }

答案 2 :(得分:0)

是的,这是可能的。

  • 您必须运行React Native 0.45.0或更高版本,它支持从相机胶卷访问视频。
  • 您必须致电CameraRoll.getPhotos(params)(有关详情请参阅docs
  • ,即可通过相机胶卷接收图像/视频访问权限。
  • 然后,使用RNUploader.upload(...)将资产发送到您的服务器(您需要先链接lib!)