asp.net选择本地文件,并在TextBox栏里显示选择的路径与名称

昨天忆 2018-09-19 09:23:17
加精

浏览这个字怎么改,怎么能显示路径与名称,下面这种写法只能显示文件名称,并且在同一行的框中显示,怎么能把同一行的那个框去掉
<tr>
<td class="text_right_auto">
<label class="lbl_red">*</label> 选择视频或图片</td>
<td class="text_left_w150" colspan="3">
<asp:TextBox ID="txtPicVioUrl" runat="server" Width="372px"></asp:TextBox>
<div>
<input type="file" id="FileUpload" name="FileUpload" />
</div>

</td>
</tr>
...全文
3795 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
有点皮蛋 2019-01-21
  • 打赏
  • 举报
回复
。。。。不懂
Logerlink 2018-09-28
  • 打赏
  • 举报
回复
cs通过id是无法获取js修改的值,不过你可以直接获取file(上传控件)的值就可以了 记得加runat=“server”

昨天忆 2018-09-28
  • 打赏
  • 举报
回复
引用 5 楼 Logerlink 的回复:
[quote=引用 3 楼 xbingyou 的回复:] 只能这么显示吗,那怎么让字符显示到上面的框里,没有其他方法获取路径吗
你获取到路径也是无用的,一般上传操作是通过后台来实现的,我们应该去规避这种机制。 至于你说的让字符显示到上面的框,用js赋值即可

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="../../../js/jquery-2.2.4.min.js" ></script>
		<script>
			$(function(){
				$('.btn-upload').change(function(){
					$('.btn-text').val($(this)[0].files[0].name);
				});
			})
		</script>
	</head>
	<body>
		<input type="text" class="btn-text"/>
		<br />
		<input type="file" class="btn-upload" />
	</body>
</html>
我大致能想到你在做什么功能了,你是不是在做tx的对象存储。。。 [/quote]
引用 5 楼 Logerlink 的回复:
[quote=引用 3 楼 xbingyou 的回复:] 只能这么显示吗,那怎么让字符显示到上面的框里,没有其他方法获取路径吗
你获取到路径也是无用的,一般上传操作是通过后台来实现的,我们应该去规避这种机制。 至于你说的让字符显示到上面的框,用js赋值即可

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="../../../js/jquery-2.2.4.min.js" ></script>
		<script>
			$(function(){
				$('.btn-upload').change(function(){
					$('.btn-text').val($(this)[0].files[0].name);
				});
			})
		</script>
	</head>
	<body>
		<input type="text" class="btn-text"/>
		<br />
		<input type="file" class="btn-upload" />
	</body>
</html>
我大致能想到你在做什么功能了,你是不是在做tx的对象存储。。。 [/quote]怎么在.cs文件中获取<input type="text" class="btn-text"/>,我加了id,也是获取不到
qq_43284917 2018-09-26
  • 打赏
  • 举报
回复
只要把选择的文件路径和名称都显示就可以了,没有其他操作了,只是为了显示
昨天忆 2018-09-25
  • 打赏
  • 举报
回复
谢谢,结贴了
xiaoxiangqing 2018-09-21
  • 打赏
  • 举报
回复
这个按钮文字改不了,不要用file控件就行了
iiihavedone 2018-09-20
  • 打赏
  • 举报
回复
刚刚js没发全

$("#fuPhoto").change(function () {
var file = this.files[0] || this.files.item(0);
var size = file.size;

if (size > 5 * 1024 * 1024) {
layer.alert("请选择小于5M的图片");
return;
}
$("#fuPhoto").val();
if (window.FileReader) {
var reader = new FileReader();
reader.readAsDataURL(file);
//监听文件读取结束后事件
reader.onloadend = function (e) {
$("#imgHead").attr("src", e.target.result); //e.target.result就是最后的路径地址
};
}
});
iiihavedone 2018-09-20
  • 打赏
  • 举报
回复
没看懂问题,不知道你是不会拿到文件名和文件路径还是不想让文件名和文件路径显示。
1.如何拿到文件名和文件路径
对于文件名 11楼的方法正解
1.1文件名 使用asp.net的 FileUpload 控件,通过该控件下的 PostedFile.FileName 属性可以获取该图片的文件名
1.2文件路径 前面几楼也都说了,拿到本机的文件路径也没有什么用,你存到服务端只需要自己给路径就好,但是你非要获取文件路径,同样还是说 FileUpload 控件,你可以这样试一下
 if (window.FileReader) {
var reader = new FileReader();
reader.readAsDataURL(file);
//监听文件读取结束后事件
reader.onloadend = function (e) {
alert(e.target.result); //e.target.result就是最后的路径地址
$("#imgHead").attr("src", e.target.result);
};
}


2.如果是不想让文件名和路径显示
我是这样做的,让用户点击图片弹出来选择文件,那么我就把这个FileUpload控件调的遮住我想让用户看见的图,然后在样式中加一句 opacity: 0; 让其不可见
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
只要把选择的文件路径和名称都显示就可以了,没有其他操作了,只是为了显示
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
引用 5 楼 Logerlink 的回复:
[quote=引用 3 楼 xbingyou 的回复:]
只能这么显示吗,那怎么让字符显示到上面的框里,没有其他方法获取路径吗

你获取到路径也是无用的,一般上传操作是通过后台来实现的,我们应该去规避这种机制。
至于你说的让字符显示到上面的框,用js赋值即可

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../../js/jquery-2.2.4.min.js" ></script>
<script>
$(function(){
$('.btn-upload').change(function(){
$('.btn-text').val($(this)[0].files[0].name);
});
})
</script>
</head>
<body>
<input type="text" class="btn-text"/>
<br />
<input type="file" class="btn-upload" />
</body>
</html>

我大致能想到你在做什么功能了,你是不是在做tx的对象存储。。。
[/quote]
没有,就是单纯的选择一个本地文件,然后在界面显示路径和名称就行了,不用其他的操作
Logerlink 2018-09-19
  • 打赏
  • 举报
回复
引用 3 楼 xbingyou 的回复:
只能这么显示吗,那怎么让字符显示到上面的框里,没有其他方法获取路径吗

你获取到路径也是无用的,一般上传操作是通过后台来实现的,我们应该去规避这种机制。
至于你说的让字符显示到上面的框,用js赋值即可

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../../js/jquery-2.2.4.min.js" ></script>
<script>
$(function(){
$('.btn-upload').change(function(){
$('.btn-text').val($(this)[0].files[0].name);
});
})
</script>
</head>
<body>
<input type="text" class="btn-text"/>
<br />
<input type="file" class="btn-upload" />
</body>
</html>

我大致能想到你在做什么功能了,你是不是在做tx的对象存储。。。
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
我看网上还有一种是FileUpload的方法,也不知道怎么用能达到效果
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
引用 2 楼 Logerlink 的回复:
浏览器不能操作系统资源,所以显示不了路径的
IE之前是可以的,不过现在好像是不行了

只能这么显示吗,那怎么让字符显示到上面的框里,没有其他方法获取路径吗
Logerlink 2018-09-19
  • 打赏
  • 举报
回复
浏览器不能操作系统资源,所以显示不了路径的
IE之前是可以的,不过现在好像是不行了
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
或者有其他可用的办法也行,具体点,谢谢,
  • 打赏
  • 举报
回复
fileupload.postfile.filename 好像是这样的
  • 打赏
  • 举报
回复
要浏览器设置 上传文件带文件地址才行,否则你获取到的就是个文件名(IE浏览器)
游北亮 2018-09-19
  • 打赏
  • 举报
回复
引用 7 楼 xbingyou 的回复:
只要把选择的文件路径和名称都显示就可以了,没有其他操作了,只是为了显示
基于安全原因,现在的浏览器基本上都不允许获取路径了
昨天忆 2018-09-19
  • 打赏
  • 举报
回复
还没解决,怎样显示路径

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧