我的网站正在从/assets/photos/文件夹中提供大量图片.如何使用Javascript获取该文件夹中的文件列表?
我有一个HTML表单(upload.htm),里面有一个HTML文件上传控件.
<form id="frmupload" name="upload" enctype="multipart/form-data" action="uploadhandler.ashx" method="post">
<input id="uploader" name="uploadctrl" type="file"/>
</form>
Run Code Online (Sandbox Code Playgroud)
上面的页面中还有一个JavaScript方法,如:
function performUpload(){
document.getElementById('frmupload').submit();
}
Run Code Online (Sandbox Code Playgroud)
我从一个页面(uploadpage.htm)中调用它iframe:
<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
Run Code Online (Sandbox Code Playgroud)
我尝试从uploadpage.htm页面执行下面的语句:
var i = document.getElementById('docframe');
i.contentWindow.performUpload();
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说访问被拒绝,我的调试器停止在我显示的第一个JavaScript函数.这两个文件都位于Web项目中的相同位置.他们也有相同的域名.为什么我会收到此错误?
当然,早些时候,我可以发布页面:当我没有name为HTML上传控件设置属性时.但是在我在HTML标记中设置name属性后,我得到了这个奇怪的错误.为什么我第一次没有这个?
看看@ this post - > "访问被拒绝"当脚本试图访问IE8中的iframe时,但它没有帮助.
javascript file-upload cross-domain access-denied internet-explorer-8
我想<input type="file" />用CSS3 设计风格.
或者,我希望用户按下div(我会设计),这将打开浏览窗口.
这可能只使用HTML,CSS3和Javascript/jQuery吗?
是否可以设置文件类型的输入元素的样式而不必担心浏览器兼容性?在我的情况下,我需要实现一个背景图像和圆形边框(1px),如果可能的话,也应该定制按钮.
我使用CSS设置了一个文件输入样式:
.custom-file-upload {
border: 1px solid #ccc;
display: inline-block;
padding: 6px 12px;
cursor: pointer;
}Run Code Online (Sandbox Code Playgroud)
<form>
<label for="file-upload" class="custom-file-upload">
<i class="fa fa-cloud-upload"></i> Upload Image
</label>
<input id="file-upload" name='upload_cont_img' type="file" style="display:none;">
</form> Run Code Online (Sandbox Code Playgroud)
一切正常,但我想显示所选的文件名.这怎么可能使用CSS或jQuery?
有没有办法隐藏浏览按钮,只留下适用于所有浏览器的文本框?
我已经尝试设置边距,但它们在每个浏览器中显示不同
我试图更改HTML表单,输入类型文件.这是我的代码:
HTML,表单id =表单
<input class="upload_file" type="file" id="file" name="file" />
Run Code Online (Sandbox Code Playgroud)
.CSS
I tried both:
.upload_button{
background: url('../images/upload_btn_bg.png') no-repeat;
width: 200px;
height: 40px;
}
#form input[type=file]{
background: url('../images/upload_btn_bg.png') no-repeat;
width: 200px;
height: 40px;
}
Run Code Online (Sandbox Code Playgroud)
这两种方法都不起作用.我确实从一些网站上看到,比如facebook,youtube,google或twitter,它们有不同的风格.不知道他们是怎么做到的.
我正在使用ng2-file-upload(单个上传示例),我想使用:ng2FileSelect使用按钮或div而不是文件输入.我怎样才能做到这一点?
我想要这样做:
<button ng2FileSelect [uploader]="uploader">Choose file</button>
Run Code Online (Sandbox Code Playgroud)
代替:
<input type="file" ng2FileSelect [uploader]="uploader" />
Run Code Online (Sandbox Code Playgroud)
如果不存在使用ng2-file-upload的干净方式,你知道另一种选择吗?
我很好奇为什么不同的浏览器有不同的<input type="file">按钮来浏览文件.有许多问题询问如何设计它们,显然某种"黑客"被用来改变它们.但没有人真正解释为什么浏览器控制它?
使用bootstrap,我创建input-group了一个button和input type='file'.
除了以外它在各处都很好IE9.在IE9上,正在从右侧裁剪浏览按钮.
演示: http ://jsbin.com/alESiBo/6/edit
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">
<i class="icon-upload-alt"></i> Upload
</button>
</span>
<input id="fileField" class="form-control" name="fileField" type="file" />
</div>
Run Code Online (Sandbox Code Playgroud)
IE 9.0.8112.16421

Chrome 31.0.1650.63 m

带快照的IE版本:

css ×5
html ×5
javascript ×4
file-upload ×2
jquery ×2
angular ×1
browser ×1
cross-domain ×1
css3 ×1
file ×1
file-io ×1
input ×1
input-field ×1
upload ×1