Flutter 颤振上传文件,docx文件到api laravel
我厌倦的是我使用文件选择器来选择,然后返回如下代码 问题是当我打印出简历时:是空的。或者其他上传文件到api的方式 //函数在这里摆动Flutter 颤振上传文件,docx文件到api laravel,flutter,Flutter,我厌倦的是我使用文件选择器来选择,然后返回如下代码 问题是当我打印出简历时:是空的。或者其他上传文件到api的方式 //函数在这里摆动 String cvs; Future getFile() async{ var tempFile = await FilePicker.getFile(type: FileType.custom, allowedExtensions: ['doc', 'docx']); String fileString = jsonEncode(t
String cvs;
Future getFile() async{
var tempFile = await FilePicker.getFile(type: FileType.custom, allowedExtensions: ['doc', 'docx']);
String fileString = jsonEncode(tempFile);
setState(() {
cvs = fileString;
print(cvs);
});
}
//这是我的数据json代码
var data = {
'firstName': firstNameController.text,
'lastName': lastNameController.text,
'gender': genderController.text,
'experience': experienceController.text,
'field_id': _mySelection,
'description_filed': descriptionFiledController.text,
'cv_type': cvTypeController.text,
'cv': cvs
};
//后端laravel代码将信息存储在数据库和google drive if文件中
`
您可以按如下方式获取拾取的文件
File File=wait FilePicker.getFile();
获得文件后,您可以使用http
包使用多部分请求上传它
\u异步文件上传(文件)异步{
//为POST或PATCH方法创建多部分请求
var request=http.MultipartRequest(“POST”,Uri.parse(“”));
//添加其他字段
//请求。字段[“字段1”]=value1;
//使用文件路径、字符串或字节创建多部分
var fileToUpload=wait http.MultipartFile.fromPath(“file\u字段”,file.path);
//向请求添加多部分
request.files.add(fileToUpload);
var response=wait request.send();
//从服务器获取响应
var responseData=wait response.stream.toBytes();
var responseString=String.fromCharCodes(responseData);
打印(响应预算);
}
一旦获得了PHP中的多部分文件,您就可以轻松地读取它。您可以按如下方式获得所选文件
File File=wait FilePicker.getFile();
获得文件后,您可以使用http
包使用多部分请求上传它
\u异步文件上传(文件)异步{
//为POST或PATCH方法创建多部分请求
var request=http.MultipartRequest(“POST”,Uri.parse(“”));
//添加其他字段
//请求。字段[“字段1”]=value1;
//使用文件路径、字符串或字节创建多部分
var fileToUpload=wait http.MultipartFile.fromPath(“file\u字段”,file.path);
//向请求添加多部分
request.files.add(fileToUpload);
var response=wait request.send();
//从服务器获取响应
var responseData=wait response.stream.toBytes();
var responseString=String.fromCharCodes(responseData);
打印(响应预算);
}
一旦获得了PHP中的多部分文件,就可以轻松地读取它
public function storeApi(Request $req){
$post = new Post;
//To associate a user with a post,
$field = Field::all();
$cvs = new Cv;
$validator = Validator::make($req->all(), [
'firstName' => 'required|max:255',
'lastName' => 'required|max:255',
'gender' => 'required|max:255',
'experience' => 'required|max:255',
'cv' => 'required|max:100000|mimes:doc,docx',
]);
if($validator->fails()){
return redirect('/user/create_cv')
->withErrors($validator)
->withInput();
}
else{
$post->user()->associate(Auth::user());
$post->firstName=$req->firstName;
$post->lastName=$req->lastName;
$post->gender=$req->gender;
$post->field_id=$req->field_id;
$post->experience=$req->experience;
$post->description_filed=$req->description_filed;
$post->cv_type=$req->cv_type;
if($req->hasFile('cv')){
$cvs->user()->associate(Auth::user());
$cvs->cv = $req->file('cv')->store('google_folder_link', 'google');
$cvs->url = Storage::disk('google')->url($cvs->cv);
$cvs->save();
}
$post->save();
}
return response()->json([
'success' => "true",
'message' => 'Post successfully',
'post' => $post,
'cv' => $cvs
]);
}`