{
BookInformation books = new BookInformation();
//上传图书图片
string fileName = flup_books.FileName;//图片名字
string fileFix = fileName.Substring(fileName.LastIndexOf('.') + 1).ToLower();//文件类型
bool result = flup_books.HasFile;//是否上传文件
if (result == true)
{
this.img_book.ImageUrl = "/Content/img/bookimg/" + fileName;//预览图片
if (fileFix != "png" && fileFix != "jpg" && fileFix != "jpeg" && fileFix != "pic" && fileFix != "gif")
{
Response.Write("");
}
else
{
flup_books.SaveAs(Server.MapPath(".") + "/Content/img/bookimg/" + fileName);
this.img_book.ImageUrl = "/Content/img/bookimg/" + fileName;
books.BookImg = fileName;
}
}
}
你要用upload控件,那点完按钮文件就已经上传到服务器上了,所谓预览也只是拖个image过来直接链到服务器上的文件上面看
如果不满意,那你只能再去删除掉文件
想真正做到不确定不上传,你必须用js
图像预览通常是在提交表单前实现的,如果你要是想要在按钮点击事件后再预览图像的话是多此一举了(两次回发,可以做但不推荐,简单思路就是把FileStream转换成base64 然后填充Image控件)。
而且使用js在提交表单前预览更加方便,简单示例:
<asp:FileUpload runat="server" ID="ImageUpload"/>
<br />
<img id="previewContent" />
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#previewContent').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#ImageUpload").change(function () {
readURL(this);
});