我正在使用laravel 5.4创建我的网站的新版本,并希望保留与旧网站相同的链接。
我的旧网站有这样的链接图像: 的 domain.com/uploaded/cat.jpg
在laravel中,需要创建一个符号链接来显示存储的图像,但它使用名为 storage 的默认文件夹保存它们,如下所示: 的 domain.com/storage/cat.jpg
如何将默认名称更改为“已上传”或其他?
我尝试使用以下内容更改 \ config \ filesystems.php 文件中的 url :
在
public Dictionary<Guid, string> UcList
{
get { return ViewState["MyUcIds"] != null ? (Dictionary<Guid, string>)ViewState["MyUcIds"] : new Dictionary<Guid, string>(); }
set { ViewState["MyUcIds"] = value; }
}
public void InitializeUC()
{
int index = 1;
foreach (var item in UcList)
{
var myUc = (UserControls_uc_MyUserControl)LoadControl("~/UserControls/uc_MyUserControl.ascx");
myUc.ID = item.Value;
pnlMyUC.Controls.AddAt(index, myUc);
index++;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
LoadControl();
else
InitializeUC();
}
在
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
和我的控制器
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/uploaded',
'visibility' => 'public',
],
答案 0 :(得分:0)
确保您已创建符号链接。
根据您的配置,您可以运行此命令:
ln -s storage/app/public public/uploaded
然后,您可以访问您的文件:
Storage::disk('public')->url('example.jpg')
或者只是使用asset()
助手:
asset('uploaded/example.jpg');
答案 1 :(得分:0)
使用任何php文件在服务器中执行此代码以创建符号链接。创建链接后,文件将可公开访问。
target =&#39; / home / cfrcoclm / public_html / agencies / storage / app / public&#39;
shortcut =&#39; / home / cfrcoclm / public_html / agencies / uploaded&#39;
符号链接(目标,快捷方式)
ec ho(&#34; Link Created!&#34;)
`
答案 2 :(得分:0)
如果你没有SSH访问,你也可以在下面编写这个单行脚本并在你的服务器上运行它 - 考虑到正确的目录路径
符号链接( '/家庭/域名/ laravelprojectname /存储/应用程序/公共', '/家庭/域名/的public_html /存储');