如何解决从 React Native App 调用 Laravel 图片上传 API 时请求抛出 NULL
我正在使用 Laravel API 将图像上传到 Cloudinary。 API 在 postman 上运行良好,但在访问 React Native 应用程序中的端点时抛出 NULL 请求错误。有人可以让我知道是否有任何方法可以排除故障和解决它? 用于上传到 Cloudinary 的 Laravel API
public function uploadImageIntervention(Request $request)
{
$image = $request->file('img');
$name = $request->file('img')->getClientOriginalName();
$image_name = $request->file('img')->getRealPath();;
Cloudder::upload($image_name,null);
list($width,$height) = getimagesize($image_name);
$image_url= Cloudder::show(Cloudder::getPublicId(),["width" => $width,"height"=>$height]);
//save to uploads directory
$image->move(public_path("uploads"),$name);
return Response::json([
'is_uploaded' => (bool)User::where('id',$request->input('id'))->update(['image' => $name,'image_path' => $image_url])
]);
}
//Method to pick image
const pickImage = async () => {
setUploadFailed(false);
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.All,allowsEditing: true,aspect: [4,3],quality: 1,});
if (!result.cancelled) {
setImage(result);
}
};
//method to handle submit button
const handleSubmit = async () => {
setLoading(true);
let photo = new FormData();
photo.append("image",{
name: `photo.jpg`,type: image.type,uri:
Platform.OS === "android"
? image.uri
: image.uri.replace("file://",""),});
let result = await photo.uploadPhoto(user.user.id,photo,user.token);
console.log("@@@ result",result.data);
if (!result.ok) return setLoading(false);
setUploadFailed(true);
setLoading(false);
};
//api client
import apiClient from "./client";
const uploadPhoto = (id,image,token) =>
apiClient.post(
"/api/user/image",{
id,img: image,},{
headers: {
Authorization: `Bearer ${token}`,"Content-Type": "application/json",Accept: "application/json",}
);
export default {
uploadPhoto,};
这是我向 Laravel api 发送请求时的响应。
result Object {
"id": 27,"img": Object {
"_parts": Array [
Array [
"img",Object {
"name": "image.jpg","type": "image","uri":
"file:///Users/fawadmac/Library/Developer/CoreSimulator/Devices/8E677CA0-646A-442A-A7B1-8BAADF70E480/data/Containers/Data/Application/40261E62-4CCA-449F-A9D2-10A9D5046203/Library/Caches/ExponentExperienceData/%2540fawad55%252Fgenie/ImagePicker/9F29927C-1E7A-4DC1-8A89-3E89B220D233.jpg",],
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。