关于使用file上传图片获取图片绝对路径

<script type="text/javascript">
    $(document).ready(function() {
        var obj = document.getElementById("u_file");//input file对象 必须用document.get

        $("#u_file").change(function () {
            $("#up_img").attr("src", getObjectURL(obj));//将图片的src变为获取到的路径
        })


        function getObjectURL(node) {
            var imgURL = "";
            try {
                var file = null;
                if (node.files && node.files[0]) {
                    file = node.files[0];
                } else if (node.files && node.files.item(0)) {
                    file = node.files.item(0);
                }
                //Firefox 因安全性问题已无法直接通过input[file].value 获取完整的文件路径
                try {
                    //Firefox7.0
                    imgURL = file.getAsDataURL();
                    //alert("//Firefox7.0"+imgRUL);
                } catch (e) {
                    //Firefox8.0以上
                    imgURL = window.URL.createObjectURL(file);
                    //alert("//Firefox8.0以上"+imgRUL);
                }
            } catch (e) {      //这里不知道怎么处理了,如果是遨游的话会报这个异常
                //支持html5的浏览器,比如高版本的firefox、chrome、ie10
                if (node.files && node.files[0]) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        imgURL = e.target.result;
                    };
                    reader.readAsDataURL(node.files[0]);
                }
            }
            return imgURL;
        }
        })
</script>
### 如何在文件上传后获得图片绝对路径 当涉及到Web应用程序中的文件上传功能时,获取上传文件的绝对路径是一个常见的需求。这可以通过多种方式实现,具体取决于所使用的编程语言和技术栈。 对于ASP.NET环境下的应用而言,`Server.MapPath()`方法能够有效地将虚拟路径转换成物理路径[^2]: ```csharp string virtualPath = "/Images/MyImage.jpg"; string physicalPath = Server.MapPath(virtualPath); // 输出可能是 "C:\inetpub\wwwroot\AppName\Images\MyImage.jpg" ``` 而在PHP环境中,则可以利用内置函数组合来达到相同目的。假设已经成功接收到了客户端提交过来的一个图像文件,并希望保存至服务器端特定位置的同时记录该文件的实际存储地址。此时可以在接收到文件之后先定义好目标路径再执行移动操作,随后即可得到完整的绝对路径[^3]: ```php <?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "The file ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " has been uploaded."; // 获取并打印出绝对路径 $absolute_path = realpath($target_file); echo "<br>Absolute path of the uploaded image is: " . $absolute_path; } else { echo "Sorry, there was an error uploading your file."; } ?> ``` 值得注意的是,在实际开发过程中应当注意安全性问题,比如验证上传文件的内容类型以及防止潜在的安全漏洞如任意文件覆盖攻击等[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值