Kod berikut ditetapkan dalam projek sudut atas beberapa sebab:
// $locationProvider.html5Mode(true);
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
/**
* The workhorse; converts an object to x-www-form-urlencoded serialization.
* @param {Object} obj
* @return {String}
*/
var param = function (obj) {
var query = '', name, value, fullSubName, subName, subValue, innerObj, i;
for (name in obj) {
value = obj[name];
if (value instanceof Array) {
for (i = 0; i < value.length; ++i) {
subValue = value[i];
fullSubName = name + '[' + i + ']';
innerObj = {};
innerObj[fullSubName] = subValue;
query += param(innerObj) + '&';
}
}
else if (value instanceof Object) {
for (subName in value) {
subValue = value[subName];
fullSubName = name + '[' + subName + ']';
innerObj = {};
innerObj[fullSubName] = subValue;
query += param(innerObj) + '&';
}
}
else if (value !== undefined && value !== null)
query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';
}
return query.length ? query.substr(0, query.length - 1) : query;
};
// Override $http service's default transformRequest
$httpProvider.defaults.transformRequest = [function (data) {
return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
}];
Akibatnya, fail tidak boleh dimuat naik sekarang, malah penyerahan borang yang paling mudah tidak berfungsi:
<form action="upload/url" name="form1" method="post" enctype="multipart/form-data">
<input id="file" name="file" type="file" accept="image/*">
<button type="submit" class="btn btn-primary btn-lg">提交</button>
</form>
Meminta bantuan daripada semua pakar, bagaimana saya boleh memuat naik gambar seperti biasa? Urgent, sangat mendesak, projek telah tertangguh untuk satu hari... Terima kasih!
https://github.com/nervgh/ang... Ambillah, dialu-alukan
Subjek bertanya dua soalan: 1. Mengapa tetapan pengepala dibuat 2. Bagaimana untuk memuat naik gambar
1. Mengapa anda perlu menetapkan pengepala?
http://stackoverflow.com/ques...Penerangan subjek tidak begitu jelas tentang cara penyerahan ini dimulakan. Tetapi masalahnya ialah kerana jenis kandungan penyerahan fail ditetapkan dengan tidak betul. Sediakan cara untuk menyerahkan menggunakan FormData:
Kod js anda adalah untuk mengekod data ke dalam borang
x-www-form-urlencoded
. Tetapi tiada data yang mengikat dalam html anda, yang pastinya tidak mungkin! Jadi saya mengesyaki bahawa anda tidak memahami penggunaan angularjs sama sekali.Selain itu, anda tidak menerangkan dengan jelas cara anda menyiarkan data. Siapa tahu di mana masalah anda?
Kembali selepas menghantar kod lengkap