我得到了一个名为" image"的文件上传表单。表单正在运行,我正在获取图片,但由于某种原因,它没有存储。这是我用来存储图像的代码:
$request->hasFile('image')
之前我检查
public partial class Form1 : Form
{
int hour;
public Form1()
{
InitializeComponent();
if(RunOnStartUp)
hour = -1;
else
hour = DateTime.Now.Hour;
}
private void timer1_Tick(object sender, EventArgs e)
{
// once per minute:
if(DateTime.Now.Hour != hour)
{
hour = DateTime.Now.Hour;
DailyTask();
}
}
private DailyTask()
{
// do something
}
}
后来我保存了$ path。路径已成功保存,当我检查它时,它确实存储/上传/ radnomid但没有文件
答案 0 :(得分:1)
很抱歉发布我自己的答案,但问题是默认情况下laravel公共磁盘不会上传到公共目录。设置需要像这样更改: 配置/ filesystems.php
'public' => [
'driver' => 'local',
'root' => public_path(),
'visibility' => 'public',
],
然后简单地说:
$path = $request->image->store('storage/uploads','public');
答案 1 :(得分:0)
确保包含multipart / form-data的enctype。您可以将该属性直接添加到表单中,也可以添加“'文件”。 =>如果您使用FORM帮助器,则为true。
这是使用Laravel 5附带的上传功能的传统方式。
public function processForm(Request $request)
{
if( $request->hasFile('image') ) {
$file = $request->file('image');
// Now you have your file in a variable that you can do things with
}
}
答案 2 :(得分:0)
您可以尝试使用此代码,
Image::make($request->file('image'))->save('upload_path/filename.jpg'));
这是此Image包的完整文档。 http://image.intervention.io/
答案 3 :(得分:0)
尝试这样做
source CSVSource, file: my_source_file
transform
transform
transform
destination CSVDestination, file: my_target_file
post_process do
# send your file to s3, by shelling out to `aws s3 cp`
# (but make sure to check the exit code if you do so!)
# or by using the AWS ruby SDK
end
答案 4 :(得分:0)
我想你应该试试这个:
Image::make($request->file('image'))->save(storage_path('uploads/image.jpg'));
希望这适合你!
答案 5 :(得分:0)
如果你的filesystems.php配置是默认值,那么
$path = $request->image->store('storage/uploads');
保存的文件不是存储/上传,而是保存在存储/应用/存储/上传中。
您当前接受的答案并不是很好,因为public_path()旨在用于存储模板文件而不是用户上传。根据官方文档,上传应该在存储/文件夹中使用,带有来自public / storage /的符号链接,但不能用于公共/。
中了解详情