使用laravel将文件夹上传到服务器

时间:2018-11-18 09:32:57

标签: php laravel laravel-5.7

我正在尝试编写一个允许用户上传文件夹的脚本。基本上,用户将指定一个文件夹,所有包含的文件都应上传,并在服务器上重建相对路径或文件夹结构。

html部分使用Java_wearablepc_ftcl_hit_edu_cn_fpga_MainActivity_readImage( JNIEnv *env, jobject, jstring jstr) { FILE *fp; fp = fopen(jstringTostring(env, jstr), "rb"); if (fp != NULL) { int length = getFileLength(fp); Log_i("fp length"); if(length<=0) { jbyteArray jarrRV = env->NewByteArray(1); return jarrRV; } else { jbyteArray jarrRV = env->NewByteArray(length); jbyte data[length]; readImage(fp, data, length); fclose(fp); env->SetByteArrayRegion(jarrRV, 0, length, data); return jarrRV; } } else { jbyteArray jarrRV = env->NewByteArray(1); return jarrRV; }

webkitdirectory

服务器是用Laravel编写的。我希望在Laravel中使用<form action="cmd/test" enctype="multipart/form-data" method="post"> <input id="upload" name="content[]" type="file" value="Input" directory webkitdirectory> <input type="submit" value="submit"> </form> ,就像

Request

我尝试上传一个包含以下内容的测试文件夹:

Route::any('cmd/test', function(\Illuminate\Http\Request $request) {
    echo $request;
    $files = $request->file('content');
    echo json_encode($files);
    //Store the files here...
});

令我惊讶的是,测试脚本的输出是

dir /s test

 Directory of C:\Users\███████\Desktop\test

18-Nov-18  05:19 PM    <DIR>          .
18-Nov-18  05:19 PM    <DIR>          ..
18-Nov-18  05:19 PM                 1 note1.txt
18-Nov-18  05:19 PM                 1 note2.txt
18-Nov-18  05:20 PM    <DIR>          test1
               2 File(s)              2 bytes

 Directory of C:\Users\███████\Desktop\test\test1

18-Nov-18  05:20 PM    <DIR>          .
18-Nov-18  05:20 PM    <DIR>          ..
18-Nov-18  05:20 PM                 1 note3.txt
               1 File(s)              1 bytes

     Total Files Listed:
               3 File(s)              3 bytes

无法使用[{},{},{}] 检索有关文件名或内容的信息。 Edge或Firefox的结果相同。有什么建议吗?


编辑:根本不知道返回值的类型是Request::file(),这对我来说是很不好的。获取文件的相对路径以重建文件夹结构的问题仍然存在。

0 个答案:

没有答案