gpt4 book ai didi

php - 将 Android 发送的多部分图像文件保存到 Laravel 5.1

转载 作者:行者123 更新时间:2023-11-29 00:05:30 26 4
gpt4 key购买 nike

更新 问题已解决。这是文件夹权限错误。简单的 chmod 更正了它。

图像很容易发送。问题是,我无法将它保存到磁盘。我尝试了几种方法,但没有一种对我有用。

这是安卓代码

      mFileInputStream = new FileInputStream(
Environment.getExternalStorageDirectory().toString()+"/Pictures/msp/" + mIFileName);
URL mUrl = new URL(mPostURL);
HttpURLConnection mHttpUrlConnection = (HttpURLConnection) mUrl.openConnection();
mHttpUrlConnection.setDoInput(true);
mHttpUrlConnection.setDoOutput(true);
mHttpUrlConnection.setUseCaches(false);
mHttpUrlConnection.setConnectTimeout(10000);
mHttpUrlConnection.setChunkedStreamingMode(1024);
mHttpUrlConnection.setInstanceFollowRedirects(false);
mHttpUrlConnection.setRequestMethod("POST");
mHttpUrlConnection.setRequestProperty("Connection", "Keep-Alive");
mHttpUrlConnection.setRequestProperty("Content-Type",
"multipart/form-data;boundary="+boundary);
mHttpUrlConnection.setRequestProperty("charset", "utf-8");
//Write Post Data
DataOutputStream wr = new DataOutputStream(mHttpUrlConnection.getOutputStream());
wr.writeBytes(mTwoHyphens + boundary + mLineEnd);
wr.writeBytes("Content-Disposition: form-data; name=\"title\""+ mLineEnd);
wr.writeBytes(mLineEnd);
wr.writeBytes(mIFileName);
wr.writeBytes(mLineEnd);
wr.writeBytes(mTwoHyphens + boundary + mLineEnd);
wr.writeBytes("Content-Disposition: form-data; name=\"description\""+ mLineEnd);
wr.writeBytes(mLineEnd);
wr.writeBytes("MSP Staff-Tailor-Merch Picture");
wr.writeBytes(mLineEnd);
wr.writeBytes(mTwoHyphens + boundary + mLineEnd);
wr.writeBytes("Content-Disposition: form-data; name=\"photo\";filename=\""
+ mIFileName +"\"" + mLineEnd + "Content-Type: image/jpeg\r\n" +"\r\n");
wr.writeBytes(mLineEnd);

谁能告诉我如何在 laravel 5.1 中读取这个上传的图像文件并将其保存到磁盘。 (它不是 base64 编码的)。Request::hasfile('image') 返回 True。但是对文件的任何操作都会导致错误。

这是 laravel compact() 的输出

{"reply":"success","title":"STAFF_faizan.png","description":"MSP Staff-Tailor-Merch Picture","photo":null,"filename":null}

这一个是所有输入中的 laravel var_dump()。

["title"]=>  string(16) "STAFF_faizan.png"  ["description"]=>  string(30) "MSP Staff-Tailor-Merch Picture"  ["photo"]=>  object(Symfony\Component\HttpFoundation\File\UploadedFile)#29 (7) {    ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>    bool(false)    ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>    string(16) "STAFF_faizan.png"    ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>    string(10) "image/jpeg"    ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>    int(25617)    ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>    int(0)    ["pathName":"SplFileInfo":private]=>    string(14) "/tmp/phpG3oqEy"    ["fileName":"SplFileInfo":private]=>    string(9) "phpG3oqEy"  }}

最佳答案

试试这个。


$photo = Request::file('照片');
$photo->move('/path/to/move', 'filename' . '.' . $photo->getExtention());

关于php - 将 Android 发送的多部分图像文件保存到 Laravel 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com