Javascript 图像上传功能最简单的方式,无需刷新页面
这是一个挑战: 我不在乎使用哪种语言,Javascript,PHP。。无论什么 我需要最简单的方式让我的用户上传图像。 稍后,我将向用户提供一种将其放置在画布上的方法(显示在div中,jquery可拖动) 我无法刷新页面,因为其他字段中存在有用的变量等。。 (我没有任何安全偏好,因为这将是一个用于内部网的本地网站) 我试过:Javascript 图像上传功能最简单的方式,无需刷新页面,javascript,php,input,Javascript,Php,Input,这是一个挑战: 我不在乎使用哪种语言,Javascript,PHP。。无论什么 我需要最简单的方式让我的用户上传图像。 稍后,我将向用户提供一种将其放置在画布上的方法(显示在div中,jquery可拖动) 我无法刷新页面,因为其他字段中存在有用的变量等。。 (我没有任何安全偏好,因为这将是一个用于内部网的本地网站) 我试过: <form action="upload_file.php" method="post" enctype="multipart/form-data">
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
</br>
<input type="file" name="file" id="file" size="70%"><br>
</br>
<input type="submit" name="submit" value="Submit">
</form>
文件名:
但是后来我意识到有很多选择,比如uploadify,我很容易在网上迷路。我建议的方法是使用AJAX,让你的上传框成为一个div,上传成功后可以替换它。然后为onSubmit创建一个Javascript函数,而不是传统的post。然后可以将您的操作更改为# 如果你查找AJAX,有一些很棒的教程,你将能够做更多令人惊奇的事情
或者看看jQuery,它肯定会对您有所帮助,我建议您使用AJAX,并将您的上传框设置为div,当上传成功时可以替换它。然后为onSubmit创建一个Javascript函数,而不是传统的post。然后可以将您的操作更改为# 如果你查找AJAX,有一些很棒的教程,你将能够做更多令人惊奇的事情
或者看看jQuery,它肯定会对您有所帮助,我建议您使用AJAX,并将您的上传框设置为div,当上传成功时可以替换它。然后为onSubmit创建一个Javascript函数,而不是传统的post。然后可以将您的操作更改为# 如果你查找AJAX,有一些很棒的教程,你将能够做更多令人惊奇的事情
或者看看jQuery,它肯定会对您有所帮助,我建议您使用AJAX,并将您的上传框设置为div,当上传成功时可以替换它。然后为onSubmit创建一个Javascript函数,而不是传统的post。然后可以将您的操作更改为# 如果你查找AJAX,有一些很棒的教程,你将能够做更多令人惊奇的事情
或者,查看jQuery,它肯定会对您有所帮助您有两种选择可以在不刷新页面的情况下进行文件上载:
- 使用HTML5表单上传
- 将表单发布到隐藏的iframe
目标设置为iframe:
<script>
// Global callback function from the file
function uploadCallback(){
console.log("File is uploaded!");
}
</script>
<iframe name="hiddentarget" style="display:none;"></iframe>
<form action="upload_file.php" method="post" enctype="multipart/form-data" target="hiddentarget">
...
编辑:
根据其他用户的建议;最佳解决方案是在受支持的地方使用文件API,然后退回到不支持它的浏览器上隐藏的iframe。这为您提供了很好的功能,例如文件上传进度。您有两种选择来进行文件上传,而不刷新页面:
- 使用HTML5表单上传
- 将表单发布到隐藏的iframe
后者提供了最好的浏览器兼容性,我建议您使用它。要发布到隐藏的iframe,只需将表单的目标设置为iframe:
<script>
// Global callback function from the file
function uploadCallback(){
console.log("File is uploaded!");
}
</script>
<iframe name="hiddentarget" style="display:none;"></iframe>
<form action="upload_file.php" method="post" enctype="multipart/form-data" target="hiddentarget">
...
编辑:
根据其他用户的建议;最佳解决方案是在受支持的地方使用文件API,然后退回到不支持它的浏览器上隐藏的iframe。这为您提供了很好的功能,例如文件上传进度。您有两种选择来进行文件上传,而不刷新页面:
- 使用HTML5表单上传
- 将表单发布到隐藏的iframe
后者提供了最好的浏览器兼容性,我建议您使用它。要发布到隐藏的iframe,只需将表单的目标设置为iframe:
<script>
// Global callback function from the file
function uploadCallback(){
console.log("File is uploaded!");
}
</script>
<iframe name="hiddentarget" style="display:none;"></iframe>
<form action="upload_file.php" method="post" enctype="multipart/form-data" target="hiddentarget">
...
编辑:
根据其他用户的建议;最佳解决方案是在受支持的地方使用文件API,然后退回到不支持它的浏览器上隐藏的iframe。这为您提供了很好的功能,例如文件上传进度。您有两种选择来进行文件上传,而不刷新页面:
- 使用HTML5表单上传
- 将表单发布到隐藏的iframe
后者提供了最好的浏览器兼容性,我建议您使用它。要发布到隐藏的iframe,只需将表单的目标设置为iframe:
<script>
// Global callback function from the file
function uploadCallback(){
console.log("File is uploaded!");
}
</script>
<iframe name="hiddentarget" style="display:none;"></iframe>
<form action="upload_file.php" method="post" enctype="multipart/form-data" target="hiddentarget">
...
编辑:
根据其他用户的建议;最佳解决方案是在受支持的地方使用文件API,然后退回到不支持它的浏览器上隐藏的iframe。这为您提供了很好的功能,例如文件上传进度。我将向您展示一个示例,说明如何使用将文件上传到服务器上,而无需刷新页面
首先,下载并安装jQuery表单插件。完成此操作后,将其包含在您想要使用它的文件中。向表单标记添加ID属性,如下所示:
id="unique_id"
识别上传表单后,将以下代码放入jQuery:
$(function() {
$('#unique_id').ajaxForm({
target: '.myTarget' // Display here whatever the server side script returns
success: function(response) {
// An usual success callback
}
})
})
假设您的服务器端语言是PHP,那么简单的上传脚本就是这样的(upload\u file.PHP
):
其中,userfile
是文件输入的name
属性(
)
上述代码组合返回图像的相对路径,您可以使用该路径在img
标记中显示图像。为此,必须使用Javascript(或jQuery) 我将向您展示一个如何使用将文件上载到服务器的示例