我希望能够在上传之前预览文件(图像).预览操作应该在浏览器中全部执行,而不使用Ajax上传图像.
我怎样才能做到这一点?
我使用asp.net mvc4和razor语法开发了一个Web应用程序.我需要使用文件上传器上传图像,并在同一页面中显示图像的详细信息.
作为一个例子有一个"file uploader"和"submit button"在"contact page"我的应用程序.当我上传一个人的图像和click提交按钮时,它应该在页面的某个位置显示图像,其中的详细信息如图像名称,大小等.
有没有可能实现这一目标的方法?
这是我的控制器类的代码
public class FileUploadController : Controller
{
//
// GET: /FileUpload/
public ActionResult Index()
{
return View();
}
public ActionResult FileUpload()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FileUpload(HttpPostedFileBase uploadFile)
{
if (uploadFile.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("~/Img/"),
Path.GetFileName(uploadFile.FileName));
}
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
这是视图的代码
<h2>FileUpload</h2>
@(Html.BeginForm("FileUpload", "FileUpload",FormMethod.Post, new { enctype = "multipart/form-data" }))
<input name="uploadFile" type="file" />
<input type="submit" …Run Code Online (Sandbox Code Playgroud) 我不是问如何上传文件.
我只是想知道,当你点击一个html文件元素时,它会显示本地系统文件夹.
我们可以使用任何其他html元素,如按钮和输入吗?如果没有,文件有什么特别之处?它如何显示系统目录?
我想在用户将图像上传到服务器之前向用户显示图像,以确保该图像是用户想要上传的图像.
我已经尝试过这样做$_FILES['name']['tmp_name']并把它放在标签中,但没有任何反应.
<form action='' method='POST' enctype="multipart/form-data">
<header class='pageHeading'>Kop afbeedling toevoegen</header>
<section class='body'>
<div class='inputFrame'>
<img src="<?php if(isset($_FILES['image']['tmp_name'])){echo $_FILES['image']['name'];}?>"/>
<div class='input'>
<div class="cellFrame">
<div class="inputHeading">Afbeelding uploaden</div>
<div class="frame">
<div class="frameAlign">
<div class="displayFlie">
<input type='file' name='image'/>
</div>
<button name='upload' class='btnUpload btn'>Upload</button>
<div class="clr"></div>
</div>
</div>
</div>
</div>
<div class="clr"></div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud) file ×2
file-upload ×2
c# ×1
dom ×1
file-io ×1
html ×1
image-upload ×1
javascript ×1
jquery ×1
php ×1
razor ×1
tmp ×1
upload ×1