我正在使用以下代码在“存储/应用/公共/网站”中上传缩略图
@BeforeClass
public static void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
//chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
System.out.println("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe --remote-debugging-port=9222 --user-data-dir=\"C:/selenum/AutomationProfile\"");
System.out.println("num"+num);
if(num == 0)
newBrowser();
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
WebDriver driver = new ChromeDriver(options);
System.out.println(driver.getTitle());
driver.manage().window().maximize();
driver.get("https://google.com");
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(0));
driver.get("https://www.naver.com/");
Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T");
}
它可以正常工作并将图像上传到“网站”目录,但是问题是它返回了实际路径,例如网站/r63mAKN1kil3BIwvwwRevOv93MgWQFme39BwH8ZV.jpeg
我只想保存图像名称,例如数据库表中的r63mAKN1kil3BIwvwwRevOv93MgWQFme39BwH8ZV.jpeg。
默认情况下,Laravel为图像名称生成唯一ID。有没有办法只返回文件名而不是路径?
答案 0 :(得分:1)
这是哈希名称,因此,首先,我认为您需要分隔步骤。
$file = $request->file('thumbnail');
$path = $file->store('public/websites');
当您需要添加文件名时,可以使用$file->hashName();
答案 1 :(得分:0)
您可以使用basename
功能
http://php.net/manual/en/function.basename.php
$filename = basename($path);
答案 2 :(得分:0)
这就是您需要的
$extension = $request->image->getClientOriginalExtension();
$image_name = str_replace(' ', '', trim($request->model) . time() . "." . $extension);
并将图像移动到所需的文件夹,请使用:
$image_path = $request->image->move(public_path('images'), $image_name);
答案 3 :(得分:0)
$info = pathinfo( $url );
$contents = ( new \GuzzleHttp\Client() )->get( $url, [ 'verify' => true ] )->getBody()->getContents();
$file = str_finish(sys_get_temp_dir(), '/') . $info[ 'basename' ];
\File::put( $file, $contents );
$ext = ( new UploadedFile( $file, $info[ 'basename' ] ) )->guessExtension();