Php 保存从Android发送到Laravel 5.1的多部分图像文件
更新问题已解决。这是文件夹权限错误。简单的chmod纠正了它 图像很容易发送。问题是,我无法将其保存到磁盘。 我试过几种方法,但都不管用 这是Android代码Php 保存从Android发送到Laravel 5.1的多部分图像文件,php,android,file,laravel,upload,Php,Android,File,Laravel,Upload,更新问题已解决。这是文件夹权限错误。简单的chmod纠正了它 图像很容易发送。问题是,我无法将其保存到磁盘。 我试过几种方法,但都不管用 这是Android代码 mFileInputStream = new FileInputStream( Environment.getExternalStorageDirectory().toString()+"/Pictures/msp/" + mIFileName); URL mUrl = new
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编码的)。
请求::hasfile('image')返回True。
但对文件的任何操作都会导致错误
以下是laravel compact()输出
这是所有输入中的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::文件('photo');
$photo->move('/path/to/move',filename'...$photo->getextension());
似乎文件很好地进入了laravel,把你的laravel代码放在这里,需要看看。Route::post('up',function(){$title=Input::get('title');$path=public_path()。/uploads/';try{if(Request::hasFile('photo'){$photo=Request::file('photo');$photo->move($path,$title);$reply='File Uploaded';}其他{$reply='File Not Found';}}捕获(异常$e){$reply=$e;}返回$reply;});
["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" }}