通过 AJAX 上传图片时禁止 403
403 forbidden while uploading image via AJAX
我正在尝试找到解决问题的方法,同时我正在尝试通过 AJAX 上传图片。
我正在使用此代码:
document.getElementById('file').addEventListener('change', function(e) {
var file = this.files[0];
console.log(file);
var xhr = new XMLHttpRequest();
(xhr.upload || xhr).addEventListener('progress', function(e) {
var done = e.position || e.loaded
var total = e.totalSize || e.total;
console.log('xhr progress: ' + Math.round(done/total*100) + '%');
});
xhr.addEventListener('load', function(e) {
console.log('xhr upload complete', e, this.responseText);
});
xhr.open('post', 'http://webpage.com/images', true);
var data = new FormData;
data.append('file', file);
xhr.send(data);
});
我在这里找到的:jQuery Upload Progress and AJAX file upload
来自@Rudie
我收到 403 禁止错误并尝试了所有方法。我正在使用 opencart MVC 架构来构建我的自定义仪表板。
我的网站托管在 goddady
i) 我在这个文件夹中没有任何 .htaccess 文件
ii) 在godaddy "hotlink protextion" 的cpanel 有一个选项,我也把URL 放在那里! (http://webpage.com/images)
iii) 尝试将 777 作为文件夹权限
但仍然是同样的错误。我认为这是最适合我的解决方案的代码。有什么建议吗?我做错了什么?
我找到了我的解决方案...我实际上也更改了上面的代码..
1. 首先,在我的图像文件夹中,我创建了一个名为 index.html 的 HTML 文件
这对于避免以下类型的错误非常重要:
没有匹配的 DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml.. ..e.t.c.)。我通过我的托管服务提供商 (goddady) 的错误日志文件发现了这个错误,这篇文章让我理解并为我提供了更多信息来找到它:
https://www.liquidweb.com/kb/apache-error-no-matching-directoryindex-index-html-found-solved/
文章说:"...意思是 Apache 将只查找名为 index.html"的目录索引文件
这解决了我的问题!
我还更改了我的代码,以便使用 openCart 架构通过 ajax 上传图像,正如我在 Whosebug 中提出的另一个问题中提到的那样。你可以在这里找到它 ,以防有人遇到同样的问题
我正在尝试找到解决问题的方法,同时我正在尝试通过 AJAX 上传图片。
我正在使用此代码:
document.getElementById('file').addEventListener('change', function(e) {
var file = this.files[0];
console.log(file);
var xhr = new XMLHttpRequest();
(xhr.upload || xhr).addEventListener('progress', function(e) {
var done = e.position || e.loaded
var total = e.totalSize || e.total;
console.log('xhr progress: ' + Math.round(done/total*100) + '%');
});
xhr.addEventListener('load', function(e) {
console.log('xhr upload complete', e, this.responseText);
});
xhr.open('post', 'http://webpage.com/images', true);
var data = new FormData;
data.append('file', file);
xhr.send(data);
});
我在这里找到的:jQuery Upload Progress and AJAX file upload
来自@Rudie
我收到 403 禁止错误并尝试了所有方法。我正在使用 opencart MVC 架构来构建我的自定义仪表板。 我的网站托管在 goddady i) 我在这个文件夹中没有任何 .htaccess 文件 ii) 在godaddy "hotlink protextion" 的cpanel 有一个选项,我也把URL 放在那里! (http://webpage.com/images) iii) 尝试将 777 作为文件夹权限
但仍然是同样的错误。我认为这是最适合我的解决方案的代码。有什么建议吗?我做错了什么?
我找到了我的解决方案...我实际上也更改了上面的代码.. 1. 首先,在我的图像文件夹中,我创建了一个名为 index.html 的 HTML 文件 这对于避免以下类型的错误非常重要: 没有匹配的 DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml.. ..e.t.c.)。我通过我的托管服务提供商 (goddady) 的错误日志文件发现了这个错误,这篇文章让我理解并为我提供了更多信息来找到它:
https://www.liquidweb.com/kb/apache-error-no-matching-directoryindex-index-html-found-solved/
文章说:"...意思是 Apache 将只查找名为 index.html"的目录索引文件
这解决了我的问题!
我还更改了我的代码,以便使用 openCart 架构通过 ajax 上传图像,正如我在 Whosebug 中提出的另一个问题中提到的那样。你可以在这里找到它