嘿,我的项目目录如下:
project
codes
fileupload(ashx)
scripts
image
web-pages
home(aspx)
about(aspx)
FileUpload(aspx)
我在我的FileUpload(aspx)中使用了这个ajax函数:
<script>
function ajaxFileUpload() {
$.ajaxFileUpload({
url: "/FileUpload.ashx", // The problem is here
secureuri: false,
fileElementId: 'fileToUpload',
dataType: 'json',
success: function (data, status) {
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
ShowUploadedFiles(data.upfile, filename);
$('#fileToUpload').val("");
}
}
},
error: function (data, status, e) {
alert(e);
}
});
}
</script>
如何从此函数调用我的处理程序(fileupload.ashx): 我尝试了很多方法:
1 - url: "../codes/FileUpload.ashx", Not working
2 - url: "~/codes/FileUpload.ashx", Not working
3 - url: "./codes/FileUpload.ashx", Not working
4 - url: "/codes/FileUpload.ashx", Not working
5 - url: "/project/codes/FileUpload.ashx", not working
6 - url: "codes/FileUpload.ashx", not working
7 - url: "/FileUpload.ashx", not working
PS:当我更改FileUpload.aspx的目录并将其放在项目的主文件夹中时...它将与此url完美配合:codes / FileUpload.ashx
所有想法?
答案 0 :(得分:0)
如果您在IIS中托管并且Web应用程序的根目录设置为/ project / web-pages /目录,那么您将需要在该目录中拥有该Web应用程序的所有其他目录。 IE:
如果工作网址结构是http://your.url/home.aspx正在运行,那么您的项目需要结构如下:
/project/web-pages/
/project/web-pages/image
/project/web-pages/scripts
/project/web-pages/codes
否则IIS将不会提供/ project / codes中的文件。除非为/ codes设置单独的IIS虚拟目录。
如果IIS配置为使您的网址看起来像http://your.url/web-pages/home.aspx,则可以使用/codes/fileupload.ashx相对路径访问/ codes目录 ,假设您已配置了IIS网站的根目录是/ project /目录。