在Laravel服务器上发布图像而不是图像链接
我在我的Flatter应用程序中有两个数据字段,一个用于CategoryName,另一个用于CategoryImage,我可以使用TextFormFields成功地将数据发布到服务器,但我想将图像上传到服务器,而不是从textformfield粘贴图像链接 我的TextFormFields视图在Laravel服务器上发布图像而不是图像链接,laravel,flutter,dart,flutter-layout,flutter-dependencies,Laravel,Flutter,Dart,Flutter Layout,Flutter Dependencies,我在我的Flatter应用程序中有两个数据字段,一个用于CategoryName,另一个用于CategoryImage,我可以使用TextFormFields成功地将数据发布到服务器,但我想将图像上传到服务器,而不是从textformfield粘贴图像链接 我的TextFormFields视图 Column( children: [ TextFormField( controller: categoryIcon,
Column(
children: [
TextFormField(
controller: categoryIcon,
decoration: InputDecoration(labelText: 'Category Icon'),
),
TextFormField(
controller: categoryName,
decoration: InputDecoration(labelText: 'Category Name'),
),
!isLoading
? RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30.0),
),
color: Colors.deepPurple,
onPressed: () {
var category = Category();
category.name = categoryName.text;
category.icon = categoryIcon.text;
_postCategory(context, category);
setState(() {
isLoading = true;
});
},
child: Text(
"Post Comment",
style: TextStyle(
fontSize: 20,
color: Colors.white,
),
),
)
: CircularProgressIndicator()
],
)
请帮助我将图像发送到laravel服务器
_postCategory(BuildContext context, Category category) async {
var _categoryService = CategoryService();
var postCategory = await _categoryService.postCategory(category);
var response = json.decode(postCategory.body);
if (response['result'] == true) {
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => CategoryList()));
}
}
Laravel服务器代码
public function store(Request $request)
{
$category = new Category();
$category->name = $request->input('categoryName');
$category->icon = $request->input('categoryIcon');
if($category->save()){
return response(['result' => true, 'name' => $category ->name]);
}
return redirect()->back()->with('failed', 'Could not saved');
}
请为我提供有关dart文件的帮助
public function store(Request $request)
{
$request->validate([
'categoryIcon' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.$request->categoryIcon->extension();
$request->categoryIcon->move(public_path('images'), $imageName);
/* Store $imageName name in DATABASE from HERE */
$category = new Category();
$category->name = $request->input('categoryName');
$category->icon = $imageName ;
if($category->save()){
return response(['result' => true, 'name' => $category ->name]);
}
return redirect()->back()->with('failed', 'Could not saved');
}