我正在尝试在服务器上使用XMLHttpRequest()上传本地 mp4 / move文件。这是用react-native编写的,在最终版本中,用户可以将任何大文件从其IOS / Android设备上传到服务器。
该文件约为1 GB(可能从100 mb到10 GB)。
对于70 mb以下的文件,我可以轻松地使用以下代码(如下)加载blob,然后将其切成薄片并使用以下命令放在服务器上:https : //github.com/inorganik/digest-auth-request
sendRequest = new digestAuthRequest('PUT', uri, usernameVal, passwordVal);
sendRequest.request(function (data) {
let oReq = new XMLHttpRequest();
oReq.open("GET", obj['path'], true);
oReq.responseType = "blob";
oReq.onload = function (oEvent) {
let blob = oReq.response;
console.log(blob);
sendBloblPart()
};
Run Code Online (Sandbox Code Playgroud)
然后,这是sendBlobPart函数,它取消了回调的所有处理(此处不重要):
function sendBloblPart() {
sendRequest = new digestAuthRequest('PUT', uri, usernameVal, passwordVal);
sendRequest.request(function (data) {
}, mainThis.fileUploadErrorHandler, blob.slice(startB, endB), true);
}
Run Code Online (Sandbox Code Playgroud)
我正在从所有部分重构服务器上的文件,这与XMLHttpRequest()创建的blob配合得很好,但是XMLHttpRequest似乎正在将整个文件加载到内存中,因此例如当尝试将1 GB文件加载为blob时我就退出了内存错误,然后我寻找了几种解决方案,但到目前为止没有任何效果,我发现了很有希望的功能:https : //github.com/joltup/react-native-fetch-blob …
我正在编写我的应用程序AndroidStudio,我的文件drawable/gifs夹中有 gif 文件,我希望MediaStore.Images.Media在单击按钮后将该文件复制到文件夹中。
目前,即使使用发布的一些答案,我也无法获得我的 gif 路径。我尝试使用的路径是
android.resource://com.example.bartoszwolski.cluainkeyboard/drawable/gifs/my.gif