假设我们有<input type="file" name="my_file>
。如果我单击选择/选择(或我的浏览器显示的任何内容)并选择一个文件,则该字段显示文件的路径。
如果文件路径很长,我看不到它的结尾:
如果文件路径为/very/long/path/to/my/file/my_file.png
,则只会立即显示文件名的开头/very/long/path...
,然后文件字段结束。
我想做一些事情(使用javascript,最好),以便浏览器显示文件名结尾而不是开头:...y/file/my_file.png
。
是否存在适用于所有浏览器的通用解决方案?
答案 0 :(得分:0)
检查FileList API。他们有一个很有用的例子。
答案 1 :(得分:0)
如果您使用的是jQuery,请查看此插件 - https://github.com/ajaxray/bootstrap-file-field
它将显示文件输入字段作为引导按钮,并将精美地显示所选文件名。此外,您可以使用简单的数据属性设置各种限制。 e,g,using System;
using System.Web.Mvc;
using System.Collections.Generic;
namespace Mvc5App.Controllers
{
public class FormViewModel
{
public string UserSelection1 { get; set; }
public string UserSelection2 { get; set; }
public IList<SelectListItem> OptionsSelectList { get; set; }
public FormViewModel()
{
this.OptionsSelectList = new List<SelectListItem>();
}
}
public class FormController : Controller
{
[HttpGet]
public ActionResult Index()
{
var viewModel = new FormViewModel();
viewModel.OptionsSelectList = new List<SelectListItem>() {
new SelectListItem {
Value = null,
Text = "- Select -",
},
new SelectListItem {
Value = "red",
Text = "Red",
},
new SelectListItem {
Value = "green",
Text = "Green",
},
new SelectListItem {
Value = "blue",
Text = "Blue",
}
}.ToArray();
viewModel.UserSelection1 = "green";
viewModel.UserSelection2 = null;
return View(viewModel);
}
}
}
将限制选择除jpg和png图像之外的文件类型。